<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
  PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html><head><title>XML source view</title><link rel="stylesheet" type="text/css" href="xmlverbatim.css"></link></head><body class="xmlverb-default"><tt>
<!-- converted by xmlverbatim.xsl 1.1, (c) O. Becker -->
<div xmlns:xd="http://www.pnp-software.com/XSLTdoc" class="xmlverb-default">&lt;!--<span class="xmlverb-comment"> <br></br>
Copyright 2008 - 2008 JEuclid, http://jeuclid.sf.net<br></br>
<br></br>
Licensed under the Apache License, Version 2.0 (the "License");<br></br>
you may not use this file except in compliance with the License.<br></br>
You may obtain a copy of the License at<br></br>
<br></br>
     http://www.apache.org/licenses/LICENSE-2.0<br></br>
<br></br>
Unless required by applicable law or agreed to in writing, software<br></br>
distributed under the License is distributed on an "AS IS" BASIS,<br></br>
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.<br></br>
See the License for the specific language governing permissions and<br></br>
limitations under the License.<br></br>
</span>--&gt;<br></br>
&lt;!--<span class="xmlverb-comment"> $Id$ </span>--&gt;<br></br>
&lt;!--<span class="xmlverb-comment"><br></br>
Copyright (c) 2000-2004 Xerox Corporation<br></br>
Copyright (c) 2005-2007 INRIA<br></br>
<br></br>
Permission is hereby granted, free of charge, to any person obtaining a copy of<br></br>
this software and associated documentation files (the "Software"), to deal in<br></br>
the Software without restriction, including without limitation the rights to<br></br>
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies<br></br>
of the Software, and to permit persons to whom the Software is furnished to do<br></br>
so, subject to the following conditions:<br></br>
<br></br>
The above copyright notice and this permission notice shall be included in all<br></br>
copies or substantial portions of the Software.<br></br>
<br></br>
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR<br></br>
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS<br></br>
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR<br></br>
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER<br></br>
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN<br></br>
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.<br></br>
</span>--&gt;<br></br>
&lt;!--<span class="xmlverb-comment"><br></br>
Author: E. Pietriga {emmanuel.pietriga@inria.fr}<br></br>
Created: 02/10/2000<br></br>
Last updated: 05/22/2007<br></br>
<br></br>
This work was initially conducted by Xerox Research Centre Europe for INRIA<br></br>
project Opera during a thesis work under a CIFRE contract.<br></br>
Improvements made in 2005 have been contributed by Brent Hendricks from Connexions.<br></br>
Improvements made in 2007 have been contributed by Josh Bode.<br></br>
</span>--&gt;<br></br>
&lt;!--<span class="xmlverb-comment"> general rules: <br></br>
*based on the 13 November 2000 WD   http://www.w3.org/TR/2000/CR-MathML2-20001113<br></br>
*comments about char refs which do not work are related to Amaya 4.1, since this stylesheet was tested using Amaya as the presentation renderer; perhaps some of the char refs said not to be working in Amaya will work with another renderer.<br></br>
*the subtrees returned by a template decide for themselves if they have to be surrounded by an mrow element (sometimes it is an mfenced element)<br></br>
*they never add brackets to themselves (or this will be an exception); it is the parent (template from which this one has been called) which decides this since the need for brackets depends on the context<br></br>
</span>--&gt;<br></br>
&lt;!--<span class="xmlverb-comment"> TO DO LIST<br></br>
*handling of compose and inverse is probably not good enough<br></br>
*as for divide, we could use the dotted notation for differentiation provided apply has the appropriate 'other' attribute (which is not defined yet ans will perhaps never be: it does not seem to be something that will be specified, rather application dependant)<br></br>
*have to find a way to detect when a vector should be represented verticaly (we do that only in one case: when preceding sibling is a matrix and operation is a multiplication; there are other cases where a vertical vector is the correct representation, but they are not yet supported)<br></br>
</span>--&gt;<br></br>
&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e7">stylesheet</a></span><span class="xmlverb-ns-name"> xmlns:xsl</span>="<span class="xmlverb-ns-uri">http://www.w3.org/1999/XSL/Transform</span>"<span class="xmlverb-ns-name"> xmlns:m</span>="<span class="xmlverb-ns-uri">http://www.w3.org/1998/Math/MathML</span>"<span class="xmlverb-ns-name"> xmlns</span>="<span class="xmlverb-ns-uri">http://www.w3.org/1998/Math/MathML</span>" <span class="xmlverb-attr-name">version</span>="<span class="xmlverb-attr-content">1.0</span>" <span class="xmlverb-attr-name">exclude-result-prefixes</span>="<span class="xmlverb-attr-content">m</span>"&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e9">output</a></span> <span class="xmlverb-attr-name">method</span>="<span class="xmlverb-attr-content">xml</span>" <span class="xmlverb-attr-name">indent</span>="<span class="xmlverb-attr-content">yes</span>" <span class="xmlverb-attr-name">omit-xml-declaration</span>="<span class="xmlverb-attr-content">no</span>" /&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e11">param</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">And</span>"&gt;<span class="xmlverb-text">∧</span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">param</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e14">param</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">ApplyFunction</span>"&gt;<span class="xmlverb-text">⁡</span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">param</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e17">param</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">Backslash</span>"&gt;<span class="xmlverb-text">∖</span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">param</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e20">param</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">DoubleRightArrow</span>"&gt;<span class="xmlverb-text">⇒</span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">param</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e24">param</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">DownArrow</span>"&gt;<span class="xmlverb-text">↓</span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">param</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e27">param</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">ee</span>"&gt;<span class="xmlverb-text">ⅇ</span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">param</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e30">param</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">empty</span>"&gt;<span class="xmlverb-text">∅</span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">param</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e33">param</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">equiv</span>"&gt;<span class="xmlverb-text">≡</span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">param</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e36">param</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">Exists</span>"&gt;<span class="xmlverb-text">∃</span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">param</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e39">param</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">ExponentialE</span>"&gt;<span class="xmlverb-text">ⅇ</span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">param</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e43">param</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">ForAll</span>"&gt;<span class="xmlverb-text">∀</span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">param</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e46">param</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">gamma</span>"&gt;<span class="xmlverb-text">γ</span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">param</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e49">param</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">GreaterEqual</span>"&gt;<span class="xmlverb-text">≥</span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">param</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e52">param</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">gt</span>"&gt;<span class="xmlverb-text">&amp;gt;</span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">param</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e55">param</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">ImaginaryI</span>"&gt;<span class="xmlverb-text">ⅈ</span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">param</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e58">param</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">infin</span>"&gt;<span class="xmlverb-text">∞</span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">param</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e62">param</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">Integral</span>"&gt;<span class="xmlverb-text">∫</span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">param</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e65">param</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">Intersection</span>"&gt;<span class="xmlverb-text">⋂</span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">param</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e68">param</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">InvisibleComma</span>"&gt;<span class="xmlverb-text">⁣</span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">param</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e71">param</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">InvisibleTimes</span>"&gt;<span class="xmlverb-text">⁢</span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">param</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e74">param</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">isin</span>"&gt;<span class="xmlverb-text">∈</span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">param</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e77">param</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">lambda</span>"&gt;<span class="xmlverb-text">λ</span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">param</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e81">param</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">lang</span>"&gt;<span class="xmlverb-text">〈</span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">param</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e84">param</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">LeftCeiling</span>"&gt;<span class="xmlverb-text">⌈</span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">param</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e87">param</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">LeftFloor</span>"&gt;<span class="xmlverb-text">⌊</span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">param</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e90">param</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">LessEqual</span>"&gt;<span class="xmlverb-text">≦</span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">param</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e93">param</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">lt</span>"&gt;<span class="xmlverb-text">&amp;lt;</span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">param</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e96">param</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">Not</span>"&gt;<span class="xmlverb-text">¬</span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">param</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e100">param</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">NotEqual</span>"&gt;<span class="xmlverb-text">≠</span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">param</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e103">param</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">notin</span>"&gt;<span class="xmlverb-text">∉</span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">param</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e106">param</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">NotSubset</span>"&gt;<span class="xmlverb-text">⊂⃒</span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">param</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e109">param</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">NotSubsetEqual</span>"&gt;<span class="xmlverb-text">⊈</span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">param</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e112">param</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">Or</span>"&gt;<span class="xmlverb-text">∨</span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">param</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e115">param</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">ovbar</span>"&gt;<span class="xmlverb-text">⌽</span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">param</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e119">param</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">PartialD</span>"&gt;<span class="xmlverb-text">∂</span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">param</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e122">param</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">pi</span>"&gt;<span class="xmlverb-text">π</span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">param</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e125">param</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">Product</span>"&gt;<span class="xmlverb-text">∏</span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">param</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e128">param</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">rang</span>"&gt;<span class="xmlverb-text">〉</span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">param</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e131">param</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">RightArrow</span>"&gt;<span class="xmlverb-text">→</span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">param</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e134">param</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">RightFloor</span>"&gt;<span class="xmlverb-text">⌋</span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">param</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e138">param</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">RightCeiling</span>"&gt;<span class="xmlverb-text">⌉</span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">param</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e141">param</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">sigma</span>"&gt;<span class="xmlverb-text">σ</span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">param</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e144">param</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">SmallCircle</span>"&gt;<span class="xmlverb-text">∘</span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">param</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e147">param</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">Subset</span>"&gt;<span class="xmlverb-text">⋐</span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">param</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e150">param</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">SubsetEqual</span>"&gt;<span class="xmlverb-text">⊆</span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">param</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e153">param</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">Sum</span>"&gt;<span class="xmlverb-text">∑</span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">param</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e157">param</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">times</span>"&gt;<span class="xmlverb-text">×</span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">param</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e160">param</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">Union</span>"&gt;<span class="xmlverb-text">⋃</span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">param</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e163">param</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">UpArrow</span>"&gt;<span class="xmlverb-text">↑</span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">param</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> #################### main #################### </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;!--<span class="xmlverb-comment"> *antonysigma* delete duplicate tags<br></br>
  xsl:template match="/"&gt;<br></br>
    &lt;xsl:apply-templates/&gt;<br></br>
  &lt;/xsl:template&gt;<br></br>
  &lt;xsl:template match="text()|@*"&gt;<br></br>
    &lt;xsl:value-of disable-output-escaping="no" select="."/&gt;<br></br>
  &lt;/xsl:template </span>--&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> #################### 4.4.1 #################### </span>--&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> number</span>--&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> support for bases and types</span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e177">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:cn</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e179">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e181">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">@base and @base!=10</span>"&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> base specified and different from 10 ; if base = 10 we do not display it </span>--&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-name"><a name="d20e185">msub</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e187">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> mrow to be sure that the base is actually the element put as sub in case the number is a composed one</span>--&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e191">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e193">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">./@type='complex-cartesian' or ./@type='complex'</span>"&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-name"><a name="d20e195">mn</a></span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e197">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">text()[1]</span>" /&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;/<span class="xmlverb-element-name">mn</span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e200">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e202">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">contains(text()[2],'-')</span>"&gt;<span class="xmlverb-text"><br></br>
                    </span>&lt;<span class="xmlverb-element-name"><a name="d20e204">mo</a></span>&gt;<span class="xmlverb-text">-</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
                    </span>&lt;<span class="xmlverb-element-name"><a name="d20e207">mn</a></span>&gt;<span class="xmlverb-text"><br></br>
                      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e209">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">substring-after(text()[2],'-')</span>" /&gt;<span class="xmlverb-text"><br></br>
                    </span>&lt;/<span class="xmlverb-element-name">mn</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment">substring-after does not seem to work well in XT : if imaginary part is expressed with at least one space char before the minus sign, then it does not work (we end up with two minus sign since the one in the text is kept)</span>--&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e215">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
                    </span>&lt;<span class="xmlverb-element-name"><a name="d20e217">mo</a></span>&gt;<span class="xmlverb-text">+</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
                    </span>&lt;<span class="xmlverb-element-name"><a name="d20e220">mn</a></span>&gt;<span class="xmlverb-text"><br></br>
                      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e222">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">text()[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
                    </span>&lt;/<span class="xmlverb-element-name">mn</span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-name"><a name="d20e227">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e229">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$InvisibleTimes</span>" /&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-name"><a name="d20e232">mi</a></span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e234">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$ImaginaryI</span>" /&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> perhaps ii</span>--&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e240">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">./@type='complex-polar'</span>"&gt;<span class="xmlverb-text"><br></br>
        Polar</span>&lt;<span class="xmlverb-element-name"><a name="d20e242">mfenced</a></span>&gt;&lt;<span class="xmlverb-element-name"><a name="d20e243">mn</a></span>&gt;&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e244">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">text()[1]</span>" /&gt;&lt;/<span class="xmlverb-element-name">mn</span>&gt;&lt;<span class="xmlverb-element-name"><a name="d20e245">mn</a></span>&gt;&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e246">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">text()[2]</span>" /&gt;&lt;/<span class="xmlverb-element-name">mn</span>&gt;&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e249">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">./@type='e-notation'</span>"&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-name"><a name="d20e251">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-name"><a name="d20e253">mn</a></span>&gt;<span class="xmlverb-text"><br></br>
                    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e255">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">text()[1]</span>" /&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;/<span class="xmlverb-element-name">mn</span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-name"><a name="d20e258">mo</a></span>&gt;<span class="xmlverb-text">e</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-name"><a name="d20e261">mn</a></span>&gt;<span class="xmlverb-text"><br></br>
                    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e263">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">text()[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;/<span class="xmlverb-element-name">mn</span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e268">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">./@type='rational'</span>"&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-name"><a name="d20e270">mn</a></span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e272">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">text()[1]</span>" /&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;/<span class="xmlverb-element-name">mn</span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-name"><a name="d20e275">mo</a></span>&gt;<span class="xmlverb-text">/</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-name"><a name="d20e278">mn</a></span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e280">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">text()[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;/<span class="xmlverb-element-name">mn</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e284">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-name"><a name="d20e286">mn</a></span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e288">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">.</span>" /&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;/<span class="xmlverb-element-name">mn</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e294">mn</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e296">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">@base</span>" /&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">mn</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-name">msub</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e301">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> no base specified </span>--&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e305">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e307">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">./@type='complex-cartesian' or ./@type='complex'</span>"&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e309">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-name"><a name="d20e311">mn</a></span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e313">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">text()[1]</span>" /&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-name">mn</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e316">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e318">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">contains(text()[2],'-')</span>"&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-name"><a name="d20e320">mo</a></span>&gt;<span class="xmlverb-text">-</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-name"><a name="d20e323">mn</a></span>&gt;<span class="xmlverb-text"><br></br>
                    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e325">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">substring(text()[2],2)</span>" /&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;/<span class="xmlverb-element-name">mn</span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-name"><a name="d20e328">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
                    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e330">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$InvisibleTimes</span>" /&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-name"><a name="d20e333">mi</a></span>&gt;<span class="xmlverb-text"><br></br>
                    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e335">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$ImaginaryI</span>" /&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> perhaps ii</span>--&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e341">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-name"><a name="d20e343">mo</a></span>&gt;<span class="xmlverb-text">+</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-name"><a name="d20e346">mn</a></span>&gt;<span class="xmlverb-text"><br></br>
                    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e348">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">text()[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;/<span class="xmlverb-element-name">mn</span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-name"><a name="d20e351">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
                    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e353">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$InvisibleTimes</span>" /&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-name"><a name="d20e356">mi</a></span>&gt;<span class="xmlverb-text"><br></br>
                    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e358">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$ImaginaryI</span>" /&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> perhaps ii</span>--&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e367">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">./@type='complex-polar'</span>"&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e369">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-name"><a name="d20e371">mi</a></span>&gt;<span class="xmlverb-text">Polar</span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-name"><a name="d20e374">mfenced</a></span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-name"><a name="d20e376">mn</a></span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e378">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">text()[1]</span>" /&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;/<span class="xmlverb-element-name">mn</span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-name"><a name="d20e381">mn</a></span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e383">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">text()[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;/<span class="xmlverb-element-name">mn</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e389">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">./@type='e-notation'</span>"&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e391">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-name"><a name="d20e393">mn</a></span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e395">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">text()[1]</span>" /&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-name">mn</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-name"><a name="d20e398">mo</a></span>&gt;<span class="xmlverb-text">e</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-name"><a name="d20e401">mn</a></span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e403">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">text()[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-name">mn</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e408">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">./@type='rational'</span>"&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e410">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-name"><a name="d20e412">mn</a></span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e414">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">text()[1]</span>" /&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-name">mn</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-name"><a name="d20e417">mo</a></span>&gt;<span class="xmlverb-text">/</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-name"><a name="d20e420">mn</a></span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e422">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">text()[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-name">mn</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e427">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e429">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> If child elements exist assume presentation markup </span>--&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e433">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">*</span>"&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-name"><a name="d20e435">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e437">copy-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*</span>" /&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e441">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-name"><a name="d20e443">mn</a></span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e445">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">.</span>" /&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;/<span class="xmlverb-element-name">mn</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> identifier </span>--&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment">support for presentation markup</span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e459">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:ci</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e461">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e463">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">./@type='complex-cartesian' or ./@type='complex'</span>"&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e465">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e467">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">count(*)&amp;gt;0</span>"&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment">if identifier is composed of real+imag parts</span>--&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e471">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-name"><a name="d20e473">mi</a></span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e475">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">text()[1]</span>" /&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e478">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> im part is negative</span>--&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e482">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">contains(text()[preceding-sibling::*[1][self::m:sep]],'-')</span>"&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-name"><a name="d20e484">mo</a></span>&gt;<span class="xmlverb-text">-</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-name"><a name="d20e487">mi</a></span>&gt;<span class="xmlverb-text"><br></br>
                    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e489">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">substring-after(text()[preceding-sibling::*[1][self::m:sep]],'-')</span>" /&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-name"><a name="d20e492">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
                    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e494">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$InvisibleTimes</span>" /&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-name"><a name="d20e497">mi</a></span>&gt;<span class="xmlverb-text"><br></br>
                    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e499">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$ImaginaryI</span>" /&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> perhaps ii</span>--&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e505">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> im part is not negative</span>--&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-name"><a name="d20e509">mo</a></span>&gt;<span class="xmlverb-text">+</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-name"><a name="d20e512">mi</a></span>&gt;<span class="xmlverb-text"><br></br>
                    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e514">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">text()[preceding-sibling::*[1][self::m:sep]]</span>" /&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-name"><a name="d20e517">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
                    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e519">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$InvisibleTimes</span>" /&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-name"><a name="d20e522">mi</a></span>&gt;<span class="xmlverb-text"><br></br>
                    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e524">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$ImaginaryI</span>" /&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> perhaps ii</span>--&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e533">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> if identifier is composed only of one text child</span>--&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e537">mi</a></span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e539">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">.</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e545">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">./@type='complex-polar'</span>"&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e547">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e549">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">count(*)&amp;gt;0</span>"&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment">if identifier is composed of real+imag parts</span>--&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e553">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-name"><a name="d20e555">mi</a></span>&gt;<span class="xmlverb-text">Polar</span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-name"><a name="d20e558">mfenced</a></span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-name"><a name="d20e560">mi</a></span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e562">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">text()[following-sibling::*[self::m:sep]]</span>" /&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-name"><a name="d20e565">mi</a></span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e567">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">text()[preceding-sibling::*[self::m:sep]]</span>" /&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e573">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> if identifier is composed only of one text child</span>--&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e577">mi</a></span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e579">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">.</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e585">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">./@type='rational'</span>"&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e587">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e589">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">count(*)&amp;gt;0</span>"&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment">if identifier is composed of two parts</span>--&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e593">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-name"><a name="d20e595">mi</a></span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e597">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">text()[following-sibling::*[self::m:sep]]</span>" /&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-name"><a name="d20e600">mo</a></span>&gt;<span class="xmlverb-text">/</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-name"><a name="d20e603">mi</a></span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e605">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">text()[preceding-sibling::*[self::m:sep]]</span>" /&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e610">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> if identifier is composed only of one text child</span>--&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e614">mi</a></span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e616">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">.</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e622">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">./@type='vector'</span>"&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e624">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> If child nodes exist assume presentation markup </span>--&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e628">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">*</span>"&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e630">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> if first child is msub do not bold subscript </span>--&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e634">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">*[1][self::m:msub]</span>"&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-name"><a name="d20e636">msub</a></span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-name"><a name="d20e638">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
                    </span>&lt;<span class="xmlverb-element-name"><a name="d20e640">mstyle</a></span> <span class="xmlverb-attr-name">fontweight</span>="<span class="xmlverb-attr-content">bold</span>"&gt;<span class="xmlverb-text"><br></br>
                      </span>&lt;<span class="xmlverb-element-name"><a name="d20e642">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
                        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e644">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:msub/*[1]</span>" /&gt;<span class="xmlverb-text"><br></br>
                      </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
                    </span>&lt;/<span class="xmlverb-element-name">mstyle</span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-name"><a name="d20e649">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
                    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e651">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:msub/*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;/<span class="xmlverb-element-name">msub</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> if first child is msup do not bold superscript </span>--&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e658">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">*[1][self::m:msup]</span>"&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-name"><a name="d20e660">msup</a></span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-name"><a name="d20e662">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
                    </span>&lt;<span class="xmlverb-element-name"><a name="d20e664">mstyle</a></span> <span class="xmlverb-attr-name">fontweight</span>="<span class="xmlverb-attr-content">bold</span>"&gt;<span class="xmlverb-text"><br></br>
                      </span>&lt;<span class="xmlverb-element-name"><a name="d20e666">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
                        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e668">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:msup/*[1]</span>" /&gt;<span class="xmlverb-text"><br></br>
                      </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
                    </span>&lt;/<span class="xmlverb-element-name">mstyle</span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-name"><a name="d20e673">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
                    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e675">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">msup/*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;/<span class="xmlverb-element-name">msup</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> if first child is msubsup do not bold scripts </span>--&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e683">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">*[1][self::m:msubsup]</span>"&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-name"><a name="d20e685">msubsup</a></span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-name"><a name="d20e687">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
                    </span>&lt;<span class="xmlverb-element-name"><a name="d20e689">mstyle</a></span> <span class="xmlverb-attr-name">fontweight</span>="<span class="xmlverb-attr-content">bold</span>"&gt;<span class="xmlverb-text"><br></br>
                      </span>&lt;<span class="xmlverb-element-name"><a name="d20e691">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
                        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e693">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:msubsup/*[1]</span>" /&gt;<span class="xmlverb-text"><br></br>
                      </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
                    </span>&lt;/<span class="xmlverb-element-name">mstyle</span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-name"><a name="d20e698">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
                    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e700">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:msubsup/*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-name"><a name="d20e703">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
                    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e705">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:msubsup/*[3]</span>" /&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;/<span class="xmlverb-element-name">msubsup</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e710">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-name"><a name="d20e712">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e714">copy-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*</span>" /&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e720">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e722">mi</a></span> <span class="xmlverb-attr-name">fontweight</span>="<span class="xmlverb-attr-content">bold</span>"&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e724">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">text()</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> type 'set' seems to be deprecated (use 4.4.12 instead); besides, there is no easy way to translate set identifiers to chars in ISOMOPF </span>--&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e733">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> no type attribute provided </span>--&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e737">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> If children elements exist assume presentation markup</span>--&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e741">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">*</span>"&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e743">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e745">copy-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e749">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> common case </span>--&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e753">mi</a></span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e755">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">.</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> externally defined symbols</span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e765">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:csymbol]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e767">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e769">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:csymbol[1]</span>" /&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e771">mfenced</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e773">for-each</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()!=1]</span>"&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e775">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">.</span>" /&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">for-each</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e782">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:csymbol</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e784">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment">test if children are not all text nodes, meaning there is markup assumed to be presentation markup</span>--&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment">perhaps it would be sufficient to test if there is more than one node or text node</span>--&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e790">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">count(node()) != count(text())</span>"&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-name"><a name="d20e792">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e794">copy-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*</span>" /&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e798">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-name"><a name="d20e800">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e802">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">.</span>" /&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e808">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:mtext</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e810">copy-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">.</span>" /&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> #################### 4.4.2 #################### </span>--&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> apply/apply </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e817">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:apply]]</span>"&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> when the function itself is defined by other functions: (F+G)(x) </span>--&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e821">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e823">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">count(*)&amp;gt;=2</span>"&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-name"><a name="d20e825">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e827">mfenced</a></span> <span class="xmlverb-attr-name">separators</span>="<span class="xmlverb-attr-content"></span>"&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e829">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[1]</span>" /&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e832">mfenced</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e834">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()!=1]</span>" /&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e839">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> apply only contains apply, no operand</span>--&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-name"><a name="d20e843">mfenced</a></span> <span class="xmlverb-attr-name">separators</span>="<span class="xmlverb-attr-content"></span>"&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e845">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*</span>" /&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> force function or operator MathML 1.0 deprecated</span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e854">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:fn]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e856">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e858">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e860">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">m:fn/*[1][self::m:apply]</span>"&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> fn definition is complex, surround with brackets, but only one child</span>--&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e864">mfenced</a></span> <span class="xmlverb-attr-name">separators</span>="<span class="xmlverb-attr-content"></span>"&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e866">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e868">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:fn/*</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e873">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e875">mi</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e877">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:fn/*</span>" /&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e882">if</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">count(*)&amp;gt;1</span>"&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> if no operands, don't put empty parentheses</span>--&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-name"><a name="d20e886">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e888">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$ApplyFunction</span>" /&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-name"><a name="d20e891">mfenced</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e893">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()!=1]</span>" /&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">if</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment">first ci is supposed to be a function</span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e901">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:ci]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e903">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e905">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:ci[1]</span>" /&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e907">if</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">count(*)&amp;gt;1</span>"&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> if no operands, don't put empty parentheses</span>--&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-name"><a name="d20e911">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e913">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$ApplyFunction</span>" /&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-name"><a name="d20e916">mfenced</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e918">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()!=1]</span>" /&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">if</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e924">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:mo]]</span>"&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment">operator assumed to be infix</span>--&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e928">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e930">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">count(*)&amp;gt;=3</span>"&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-name"><a name="d20e932">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e934">for-each</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()!=last() and position()!=1]</span>"&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e936">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">.</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e938">copy-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">preceding-sibling::m:mo</span>" /&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">for-each</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e941">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()!=1 and position()=last()]</span>" /&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e945">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">count(*)=2</span>"&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-name"><a name="d20e947">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e949">copy-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:mo[1]/*</span>" /&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e951">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> intervals </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e959">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:interval</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e961">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e963">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">count(*)=2</span>"&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment">we have an interval defined by two real numbers</span>--&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e967">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e969">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">@closure and @closure='open-closed'</span>"&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e971">mfenced</a></span> <span class="xmlverb-attr-name">open</span>="<span class="xmlverb-attr-content">(</span>" <span class="xmlverb-attr-name">close</span>="<span class="xmlverb-attr-content">]</span>"&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e973">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[1]</span>" /&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e975">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e979">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">@closure and @closure='closed-open'</span>"&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e981">mfenced</a></span> <span class="xmlverb-attr-name">open</span>="<span class="xmlverb-attr-content">[</span>" <span class="xmlverb-attr-name">close</span>="<span class="xmlverb-attr-content">)</span>"&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e983">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[1]</span>" /&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e985">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e989">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">@closure and @closure='closed'</span>"&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e991">mfenced</a></span> <span class="xmlverb-attr-name">open</span>="<span class="xmlverb-attr-content">[</span>" <span class="xmlverb-attr-name">close</span>="<span class="xmlverb-attr-content">]</span>"&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e993">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[1]</span>" /&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e995">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e999">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">@closure and @closure='open'</span>"&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e1001">mfenced</a></span> <span class="xmlverb-attr-name">open</span>="<span class="xmlverb-attr-content">(</span>" <span class="xmlverb-attr-name">close</span>="<span class="xmlverb-attr-content">)</span>"&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1003">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[1]</span>" /&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1005">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1009">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment">default is close</span>--&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e1013">mfenced</a></span> <span class="xmlverb-attr-name">open</span>="<span class="xmlverb-attr-content">[</span>" <span class="xmlverb-attr-name">close</span>="<span class="xmlverb-attr-content">]</span>"&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1015">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[1]</span>" /&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1017">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1023">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment">we have an interval defined by a condition</span>--&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-name"><a name="d20e1027">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1029">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:condition</span>" /&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> inverse </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1038">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:apply]/m:inverse]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e1040">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e1042">msup</a></span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> elementary classical functions have two templates: apply[func] for standard case, func[position()!=1] for inverse and compose case</span>--&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-name"><a name="d20e1046">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1048">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:apply[1]/*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> function to be inversed</span>--&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-name"><a name="d20e1053">mfenced</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e1055">mn</a></span>&gt;<span class="xmlverb-text">-1</span>&lt;/<span class="xmlverb-element-name">mn</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-name">msup</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1060">if</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">count(*)&amp;gt;=2</span>"&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> deal with operands, if any</span>--&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-name"><a name="d20e1064">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1066">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$ApplyFunction</span>" /&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-name"><a name="d20e1069">mfenced</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1071">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()!=1]</span>" /&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">if</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1077">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:inverse]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e1079">msup</a></span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> elementary classical functions have two templates: apply[func] for standard case, func[position()!=1] for inverse and compose case</span>--&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e1083">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1085">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> function to be inversed</span>--&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e1090">mfenced</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-name"><a name="d20e1092">mn</a></span>&gt;<span class="xmlverb-text">-1</span>&lt;/<span class="xmlverb-element-name">mn</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">msup</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> conditions </span>--&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> no support for deprecated reln</span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1102">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:condition</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e1104">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1106">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*</span>" /&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> domain of application </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1113">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:domainofapplication</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e1115">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1117">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*</span>" /&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> declare </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1123">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:declare</span>"&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> no rendering for declarations</span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> lambda </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1130">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:lambda</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e1132">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e1134">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1136">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$lambda</span>" /&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e1139">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-name"><a name="d20e1141">mo</a></span>&gt;<span class="xmlverb-text">(</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1144">for-each</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:bvar</span>"&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1146">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">.</span>" /&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e1148">mo</a></span>&gt;<span class="xmlverb-text">,</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">for-each</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1152">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()=last()]</span>" /&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-name"><a name="d20e1154">mo</a></span>&gt;<span class="xmlverb-text">)</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> composition </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1163">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:apply]/m:compose]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e1165">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> elementary classical functions have two templates: apply[func] for standard case, func[position()!=1] for inverse and compose case</span>--&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1169">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1171">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">count(*)&amp;gt;=2</span>"&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> if there are operands, mfence functions</span>--&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e1175">mfenced</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e1177">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1179">for-each</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:apply[1]/*[position()!=1 and position()!=last()]</span>"&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1181">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">.</span>" /&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-name"><a name="d20e1183">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1185">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$SmallCircle</span>" /&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> compose functions </span>--&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> does not work, perhaps compfn, UNICODE 02218</span>--&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">for-each</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1193">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:apply[1]/*[position()=last()]</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1198">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1200">for-each</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:apply[1]/*[position()!=1 and position()!=last()]</span>"&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1202">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">.</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e1204">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1206">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$SmallCircle</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> compose functions </span>--&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> does not work, perhaps compfn, UNICODE 02218</span>--&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">for-each</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1214">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:apply[1]/*[position()=last()]</span>" /&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1218">if</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">count(*)&amp;gt;=2</span>"&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> deal with operands, if any</span>--&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-name"><a name="d20e1222">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1224">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$ApplyFunction</span>" /&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-name"><a name="d20e1227">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e1229">mo</a></span>&gt;<span class="xmlverb-text">(</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1232">for-each</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()!=1 and position()!=last()]</span>"&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1234">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">.</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e1236">mo</a></span>&gt;<span class="xmlverb-text">,</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">for-each</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1240">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()=last()]</span>" /&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e1242">mo</a></span>&gt;<span class="xmlverb-text">)</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">if</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1249">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:compose]]</span>"&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> elementary classical functions have two templates: apply[func] for standard case, func[position()!=1] for inverse and compose case</span>--&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1253">for-each</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()!=1 and position()!=last()]</span>"&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1255">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">.</span>" /&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e1257">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1259">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$SmallCircle</span>" /&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> compose functions </span>--&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> does not work, perhaps compfn, UNICODE 02218</span>--&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">for-each</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1267">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()=last()]</span>" /&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> identity </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1272">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:ident</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e1274">mi</a></span>&gt;<span class="xmlverb-text">id</span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> domain </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1280">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:domain]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e1282">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e1284">mi</a></span>&gt;<span class="xmlverb-text">domain</span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e1287">mfenced</a></span> <span class="xmlverb-attr-name">open</span>="<span class="xmlverb-attr-content">(</span>" <span class="xmlverb-attr-name">close</span>="<span class="xmlverb-attr-content">)</span>"&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1289">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()!=1]</span>" /&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> codomain </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1297">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:codomain]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e1299">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e1301">mi</a></span>&gt;<span class="xmlverb-text">codomain</span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e1304">mfenced</a></span> <span class="xmlverb-attr-name">open</span>="<span class="xmlverb-attr-content">(</span>" <span class="xmlverb-attr-name">close</span>="<span class="xmlverb-attr-content">)</span>"&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1306">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()!=1]</span>" /&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> image </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1313">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:image]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e1315">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e1317">mi</a></span>&gt;<span class="xmlverb-text">image</span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e1320">mfenced</a></span> <span class="xmlverb-attr-name">open</span>="<span class="xmlverb-attr-content">(</span>" <span class="xmlverb-attr-name">close</span>="<span class="xmlverb-attr-content">)</span>"&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1322">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()!=1]</span>" /&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> piecewise </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1329">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:piecewise</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e1331">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e1333">mfenced</a></span> <span class="xmlverb-attr-name">open</span>="<span class="xmlverb-attr-content">{{</span>" <span class="xmlverb-attr-name">close</span>="<span class="xmlverb-attr-content"></span>"&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-name"><a name="d20e1335">mtable</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1337">for-each</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:piece</span>"&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e1339">mtr</a></span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-name"><a name="d20e1341">mtd</a></span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1343">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[1]</span>" /&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-name"><a name="d20e1345">mspace</a></span> <span class="xmlverb-attr-name">width</span>="<span class="xmlverb-attr-content">0.3em</span>" /&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-nsprefix">m</span>:<span class="xmlverb-element-name"><a name="d20e1347">mtext</a></span>&gt;<span class="xmlverb-text">if</span>&lt;/<span class="xmlverb-element-nsprefix">m</span>:<span class="xmlverb-element-name">mtext</span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-name"><a name="d20e1350">mspace</a></span> <span class="xmlverb-attr-name">width</span>="<span class="xmlverb-attr-content">0.3em</span>" /&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1352">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-name">mtd</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-name">mtr</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">for-each</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1357">if</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">m:otherwise</span>"&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e1359">mtr</a></span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-name"><a name="d20e1361">mtd</a></span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1363">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:otherwise/*</span>" /&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-name"><a name="d20e1365">mspace</a></span> <span class="xmlverb-attr-name">width</span>="<span class="xmlverb-attr-content">0.3em</span>" /&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-nsprefix">m</span>:<span class="xmlverb-element-name"><a name="d20e1367">mtext</a></span>&gt;<span class="xmlverb-text">otherwise</span>&lt;/<span class="xmlverb-element-nsprefix">m</span>:<span class="xmlverb-element-name">mtext</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-name">mtd</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-name">mtr</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">if</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-name">mtable</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> #################### 4.4.3 #################### </span>--&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> quotient </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1382">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:quotient]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e1384">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> the third notation uses UNICODE chars x0230A and x0230B </span>--&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e1388">mo</a></span>&gt;<span class="xmlverb-text">integer part of</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e1391">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1393">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> surround with brackets if operands are composed</span>--&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1397">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">*[2] and self::m:apply</span>"&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e1399">mfenced</a></span> <span class="xmlverb-attr-name">separators</span>="<span class="xmlverb-attr-content"></span>"&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1401">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1405">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1407">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-name"><a name="d20e1411">mo</a></span>&gt;<span class="xmlverb-text">/</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1414">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1416">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">*[3] and self::m:apply</span>"&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e1418">mfenced</a></span> <span class="xmlverb-attr-name">separators</span>="<span class="xmlverb-attr-content"></span>"&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1420">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[3]</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1424">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1426">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[3]</span>" /&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> factorial </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1435">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:factorial]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e1437">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1439">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> surround with brackets if operand is composed</span>--&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1443">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">*[2][self::m:apply]</span>"&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e1445">mfenced</a></span> <span class="xmlverb-attr-name">separators</span>="<span class="xmlverb-attr-content"></span>"&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1447">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1451">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1453">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e1457">mo</a></span>&gt;<span class="xmlverb-text">!</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> divide </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1464">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:divide]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e1466">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1468">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1470">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">contains(@other,'scriptstyle')</span>"&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e1472">mfrac</a></span> <span class="xmlverb-attr-name">bevelled</span>="<span class="xmlverb-attr-content">true</span>"&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e1474">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1476">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e1479">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1481">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[3]</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">mfrac</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1486">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e1488">mfrac</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e1490">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1492">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e1495">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1497">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[3]</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">mfrac</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> min </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1508">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:min]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e1510">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1512">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1514">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">m:bvar</span>"&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> if there are bvars</span>--&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e1518">msub</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e1520">mi</a></span>&gt;<span class="xmlverb-text">min</span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e1523">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1525">for-each</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:bvar[position()!=last()]</span>"&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment">select every bvar except the last one (position() only counts bvars, not the other siblings)</span>--&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1529">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">.</span>" /&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-name"><a name="d20e1531">mo</a></span>&gt;<span class="xmlverb-text">,</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">for-each</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1535">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:bvar[position()=last()]</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">msub</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e1539">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e1541">mo</a></span>&gt;<span class="xmlverb-text">{</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1544">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[not(self::m:condition) and not(self::m:bvar)]</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1546">if</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">m:condition</span>"&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-name"><a name="d20e1548">mo</a></span>&gt;<span class="xmlverb-text">|</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1551">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:condition</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">if</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e1554">mo</a></span>&gt;<span class="xmlverb-text">}</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1559">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> if there are no bvars</span>--&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e1563">mo</a></span>&gt;<span class="xmlverb-text">min</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e1566">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e1568">mo</a></span>&gt;<span class="xmlverb-text">{</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e1571">mfenced</a></span> <span class="xmlverb-attr-name">open</span>="<span class="xmlverb-attr-content"></span>" <span class="xmlverb-attr-name">close</span>="<span class="xmlverb-attr-content"></span>"&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1573">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[not(self::m:condition) and not(self::m:min)]</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1576">if</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">m:condition</span>"&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-name"><a name="d20e1578">mo</a></span>&gt;<span class="xmlverb-text">|</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1581">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:condition</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">if</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e1584">mo</a></span>&gt;<span class="xmlverb-text">}</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> min with domainofapplication </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1594">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:min] and m:domainofapplication]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e1596">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1598">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1600">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">m:bvar</span>"&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> bvar and domain of application </span>--&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e1604">msub</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e1606">munder</a></span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-name"><a name="d20e1608">mi</a></span>&gt;<span class="xmlverb-text">min</span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1611">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:domainofapplication</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-name">munder</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e1614">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1616">for-each</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:bvar[position()!=last()]</span>"&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment">select every bvar except the last one (position() only counts bvars, not the other siblings)</span>--&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1620">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">.</span>" /&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-name"><a name="d20e1622">mo</a></span>&gt;<span class="xmlverb-text">,</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">for-each</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1626">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:bvar[position()=last()]</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">msub</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1631">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e1633">munder</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e1635">mi</a></span>&gt;<span class="xmlverb-text">min</span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1638">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:domainofapplication</span>" /&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">munder</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e1643">mo</a></span>&gt;<span class="xmlverb-text">{</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1646">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[not(self::m:condition or self::m:domainofapplication or self::m:bvar)]</span>" /&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1648">if</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">m:condition</span>"&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-name"><a name="d20e1650">mo</a></span>&gt;<span class="xmlverb-text">|</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1653">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:condition</span>" /&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">if</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e1656">mo</a></span>&gt;<span class="xmlverb-text">}</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> max </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1663">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:max]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e1665">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1667">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1669">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">m:bvar</span>"&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> if there are bvars</span>--&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e1673">msub</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e1675">mi</a></span>&gt;<span class="xmlverb-text">max</span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e1678">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1680">for-each</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:bvar[position()!=last()]</span>"&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment">select every bvar except the last one (position() only counts bvars, not the other siblings)</span>--&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1684">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">.</span>" /&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-name"><a name="d20e1686">mo</a></span>&gt;<span class="xmlverb-text">,</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">for-each</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1690">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:bvar[position()=last()]</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">msub</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e1694">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e1696">mo</a></span>&gt;<span class="xmlverb-text">{</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1699">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[not(self::m:condition) and not(self::m:bvar)]</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1701">if</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">m:condition</span>"&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-name"><a name="d20e1703">mo</a></span>&gt;<span class="xmlverb-text">|</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1706">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:condition</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">if</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e1709">mo</a></span>&gt;<span class="xmlverb-text">}</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1714">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> if there are no bvars</span>--&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e1718">mo</a></span>&gt;<span class="xmlverb-text">max</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e1721">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e1723">mo</a></span>&gt;<span class="xmlverb-text">{</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e1726">mfenced</a></span> <span class="xmlverb-attr-name">open</span>="<span class="xmlverb-attr-content"></span>" <span class="xmlverb-attr-name">close</span>="<span class="xmlverb-attr-content"></span>"&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1728">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[not(self::m:condition) and not(self::m:max)]</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1731">if</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">m:condition</span>"&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-name"><a name="d20e1733">mo</a></span>&gt;<span class="xmlverb-text">|</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1736">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:condition</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">if</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e1739">mo</a></span>&gt;<span class="xmlverb-text">}</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> max with domainofapplication </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1750">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:max] and m:domainofapplication]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e1752">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1754">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1756">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">m:bvar</span>"&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> bvar and domain of application </span>--&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e1760">msub</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e1762">munder</a></span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-name"><a name="d20e1764">mi</a></span>&gt;<span class="xmlverb-text">max</span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1767">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:domainofapplication</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-name">munder</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e1770">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1772">for-each</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:bvar[position()!=last()]</span>"&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment">select every bvar except the last one (position() only counts bvars, not the other siblings)</span>--&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1776">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">.</span>" /&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-name"><a name="d20e1778">mo</a></span>&gt;<span class="xmlverb-text">,</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">for-each</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1782">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:bvar[position()=last()]</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">msub</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1787">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e1789">munder</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e1791">mi</a></span>&gt;<span class="xmlverb-text">max</span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1794">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:domainofapplication</span>" /&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">munder</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e1799">mo</a></span>&gt;<span class="xmlverb-text">{</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1802">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[not(self::m:condition or self::m:domainofapplication or self::m:bvar)]</span>" /&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1804">if</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">m:condition</span>"&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-name"><a name="d20e1806">mo</a></span>&gt;<span class="xmlverb-text">|</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1809">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:condition</span>" /&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">if</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e1812">mo</a></span>&gt;<span class="xmlverb-text">}</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> substraction(minus); unary or binary operator</span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1819">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:minus]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e1821">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1823">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> binary </span>--&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1827">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">count(*)=3</span>"&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1829">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e1831">mo</a></span>&gt;<span class="xmlverb-text">-</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1834">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1836">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">(*[3][self::m:ci or self::m:cn] and contains(*[3]/text(),'-')) or *[3][self::m:apply]</span>"&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-name"><a name="d20e1838">mfenced</a></span> <span class="xmlverb-attr-name">separators</span>="<span class="xmlverb-attr-content"></span>"&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1840">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[3]</span>" /&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> surround negative or complex things with brackets </span>--&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1846">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1848">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[3]</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1853">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> unary </span>--&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e1857">mo</a></span>&gt;<span class="xmlverb-text">-</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1860">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1862">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">(*[2][self::m:ci or self::m:cn] and contains(*[2]/text(),'-')) or *[2][self::m:apply]</span>"&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-name"><a name="d20e1864">mfenced</a></span> <span class="xmlverb-attr-name">separators</span>="<span class="xmlverb-attr-content"></span>"&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> surround negative or complex things with brackets </span>--&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1868">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()=last()]</span>" /&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1872">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1874">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()=last()]</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> addition </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1884">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:plus]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1886">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1888">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">count(*)&amp;gt;=3</span>"&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-name"><a name="d20e1890">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1892">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1894">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">(*[2][self::m:ci or self::m:cn] and contains(*[2]/text(),'-')) or (*[2][self::m:apply and child::m:minus])</span>"&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-name"><a name="d20e1896">mfenced</a></span> <span class="xmlverb-attr-name">separators</span>="<span class="xmlverb-attr-content"></span>"&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1898">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> surround negative things with brackets </span>--&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1904">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1906">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1910">for-each</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()!=1 and position()!=2]</span>"&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1912">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1914">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">((self::m:ci or self::m:cn) and contains(./text(),'-')) or (self::m:apply and child::m:minus)</span>"&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> surround negative things with brackets </span>--&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-name"><a name="d20e1918">mo</a></span>&gt;<span class="xmlverb-text">+</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-name"><a name="d20e1921">mfenced</a></span> <span class="xmlverb-attr-name">separators</span>="<span class="xmlverb-attr-content"></span>"&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1923">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">.</span>" /&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1927">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-name"><a name="d20e1929">mo</a></span>&gt;<span class="xmlverb-text">+</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1932">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">.</span>" /&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">for-each</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1939">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">count(*)=2</span>"&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-name"><a name="d20e1941">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e1943">mo</a></span>&gt;<span class="xmlverb-text">+</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1946">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1950">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-name"><a name="d20e1952">mo</a></span>&gt;<span class="xmlverb-text">+</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> power </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1961">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:power]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e1963">msup</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1965">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1967">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">*[2][self::m:apply]</span>"&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e1969">mfenced</a></span> <span class="xmlverb-attr-name">separators</span>="<span class="xmlverb-attr-content"></span>"&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1971">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1975">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1977">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1981">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[3]</span>" /&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">msup</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> remainder </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1987">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:rem]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e1989">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1991">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> surround with brackets if operands are composed</span>--&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1995">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">*[2][self::m:apply]</span>"&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e1997">mfenced</a></span> <span class="xmlverb-attr-name">separators</span>="<span class="xmlverb-attr-content"></span>"&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e1999">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2003">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2005">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e2009">mo</a></span>&gt;<span class="xmlverb-text">mod</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2012">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2014">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">*[3][self::m:apply]</span>"&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e2016">mfenced</a></span> <span class="xmlverb-attr-name">separators</span>="<span class="xmlverb-attr-content"></span>"&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2018">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[3]</span>" /&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2022">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2024">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[3]</span>" /&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> multiplication </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2032">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:times]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2034">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2036">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">count(*)&amp;gt;=3</span>"&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-name"><a name="d20e2038">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2040">for-each</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()!=last() and position()!=1]</span>"&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2042">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2044">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">m:plus</span>"&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment">add brackets around + children for priority purpose</span>--&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-name"><a name="d20e2048">mfenced</a></span> <span class="xmlverb-attr-name">separators</span>="<span class="xmlverb-attr-content"></span>"&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2050">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">.</span>" /&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-name"><a name="d20e2053">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2055">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$InvisibleTimes</span>" /&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2059">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">m:minus</span>"&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment">add brackets around - children for priority purpose</span>--&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-name"><a name="d20e2063">mfenced</a></span> <span class="xmlverb-attr-name">separators</span>="<span class="xmlverb-attr-content"></span>"&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2065">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">.</span>" /&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-name"><a name="d20e2068">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2070">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$InvisibleTimes</span>" /&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2074">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">(self::m:ci or self::m:cn) and contains(text(),'-')</span>"&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> have to do it using contains because starts-with doesn't seem to work well in XT</span>--&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-name"><a name="d20e2078">mfenced</a></span> <span class="xmlverb-attr-name">separators</span>="<span class="xmlverb-attr-content"></span>"&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2080">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">.</span>" /&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-name"><a name="d20e2083">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2085">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$InvisibleTimes</span>" /&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2089">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2091">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">.</span>" /&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-name"><a name="d20e2093">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2095">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$InvisibleTimes</span>" /&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">for-each</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2101">for-each</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()=last()]</span>"&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2103">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2105">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">m:plus</span>"&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-name"><a name="d20e2107">mfenced</a></span> <span class="xmlverb-attr-name">separators</span>="<span class="xmlverb-attr-content"></span>"&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2109">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">.</span>" /&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2113">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">m:minus</span>"&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-name"><a name="d20e2115">mfenced</a></span> <span class="xmlverb-attr-name">separators</span>="<span class="xmlverb-attr-content"></span>"&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2117">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">.</span>" /&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2121">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">(self::m:ci or self::m:cn) and contains(text(),'-')</span>"&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> have to do it using contains because starts-with doesn't seem to work well in  XT</span>--&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-name"><a name="d20e2125">mfenced</a></span> <span class="xmlverb-attr-name">separators</span>="<span class="xmlverb-attr-content"></span>"&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2127">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">.</span>" /&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2131">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2133">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">.</span>" /&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">for-each</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2140">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">count(*)=2</span>"&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> unary </span>--&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-name"><a name="d20e2144">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e2146">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2148">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$InvisibleTimes</span>" /&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2151">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2153">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">m:plus</span>"&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-name"><a name="d20e2155">mfenced</a></span> <span class="xmlverb-attr-name">separators</span>="<span class="xmlverb-attr-content"></span>"&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2157">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2161">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">m:minus</span>"&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-name"><a name="d20e2163">mfenced</a></span> <span class="xmlverb-attr-name">separators</span>="<span class="xmlverb-attr-content"></span>"&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2165">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2169">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">*[2][self::m:ci or self::m:cn] and contains(*[2]/text(),'-')</span>"&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-name"><a name="d20e2171">mfenced</a></span> <span class="xmlverb-attr-name">separators</span>="<span class="xmlverb-attr-content"></span>"&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2173">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2177">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2179">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2185">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> no operand </span>--&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-name"><a name="d20e2189">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2191">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$InvisibleTimes</span>" /&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> root </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2200">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:root]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2202">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2204">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">m:degree</span>"&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2206">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2208">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">m:degree/m:cn/text()='2'</span>"&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment">if degree=2 display a standard square root</span>--&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e2212">msqrt</a></span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2214">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[3]</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-name">msqrt</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2218">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e2220">mroot</a></span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2222">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[3]</span>" /&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-name"><a name="d20e2224">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2226">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:degree/*</span>" /&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-name">mroot</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2233">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> no degree specified</span>--&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-name"><a name="d20e2237">msqrt</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2239">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-name">msqrt</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> greatest common divisor </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2247">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:gcd]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e2249">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e2251">mi</a></span>&gt;<span class="xmlverb-text">gcd</span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e2254">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2256">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$ApplyFunction</span>" /&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e2259">mfenced</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2261">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()!=1]</span>" /&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> AND </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2268">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:and]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e2270">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2272">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2274">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">count(*)&amp;gt;=3</span>"&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> at least two operands (common case)</span>--&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2278">for-each</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()!=last() and position()!=1]</span>"&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2280">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2282">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">m:or</span>"&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment">add brackets around OR children for priority purpose</span>--&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-name"><a name="d20e2286">mfenced</a></span> <span class="xmlverb-attr-name">separators</span>="<span class="xmlverb-attr-content"></span>"&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2288">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">.</span>" /&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-name"><a name="d20e2291">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2293">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$And</span>" /&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2297">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">m:xor</span>"&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment">add brackets around XOR children for priority purpose</span>--&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-name"><a name="d20e2301">mfenced</a></span> <span class="xmlverb-attr-name">separators</span>="<span class="xmlverb-attr-content"></span>"&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2303">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">.</span>" /&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-name"><a name="d20e2306">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2308">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$And</span>" /&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2312">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2314">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">.</span>" /&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-name"><a name="d20e2316">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2318">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$And</span>" /&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">for-each</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2324">for-each</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()=last()]</span>"&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2326">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2328">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">m:or</span>"&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-name"><a name="d20e2330">mfenced</a></span> <span class="xmlverb-attr-name">separators</span>="<span class="xmlverb-attr-content"></span>"&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2332">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">.</span>" /&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2336">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">m:xor</span>"&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-name"><a name="d20e2338">mfenced</a></span> <span class="xmlverb-attr-name">separators</span>="<span class="xmlverb-attr-content"></span>"&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2340">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">.</span>" /&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2344">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2346">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">.</span>" /&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">for-each</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2352">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">count(*)=2</span>"&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e2354">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2356">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$And</span>" /&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2359">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()=last()]</span>" /&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2362">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e2364">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2366">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$And</span>" /&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> OR </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2376">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:or]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e2378">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2380">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2382">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">count(*)&amp;gt;=3</span>"&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2384">for-each</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()!=last() and position()!=1]</span>"&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2386">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">.</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e2388">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2390">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$Or</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">for-each</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2394">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()=last()]</span>" /&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2397">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">count(*)=2</span>"&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e2399">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2401">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$Or</span>" /&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2404">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()=last()]</span>" /&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2407">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e2409">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2411">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$Or</span>" /&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> XOR </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2420">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:xor]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e2422">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2424">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2426">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">count(*)&amp;gt;=3</span>"&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2428">for-each</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()!=last() and position()!=1]</span>"&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2430">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">.</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e2432">mo</a></span>&gt;<span class="xmlverb-text">xor</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">for-each</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2436">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()=last()]</span>" /&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2439">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">count(*)=2</span>"&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e2441">mo</a></span>&gt;<span class="xmlverb-text">xor</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2444">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()=last()]</span>" /&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2447">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e2449">mo</a></span>&gt;<span class="xmlverb-text">xor</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> NOT </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2458">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:not]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e2460">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e2462">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2464">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$Not</span>" /&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2467">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2469">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">m:apply</span>"&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment">add brackets around OR,AND,XOR children for priority purpose</span>--&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e2473">mfenced</a></span> <span class="xmlverb-attr-name">separators</span>="<span class="xmlverb-attr-content"></span>"&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2475">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2479">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2481">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> implies </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2490">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:implies]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e2492">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2494">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e2496">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2498">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$DoubleRightArrow</span>" /&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2501">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[3]</span>" /&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2505">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:reln[*[1][self::m:implies]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e2507">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2509">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e2511">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2513">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$DoubleRightArrow</span>" /&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2516">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[3]</span>" /&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> for all</span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2522">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:forall]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e2524">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e2526">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2528">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$ForAll</span>" /&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e2531">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2533">for-each</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:bvar[position()!=last()]</span>"&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2535">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">.</span>" /&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e2537">mo</a></span>&gt;<span class="xmlverb-text">,</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">for-each</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2541">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:bvar[position()=last()]</span>" /&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2544">if</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">m:condition</span>"&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-name"><a name="d20e2546">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e2548">mo</a></span>&gt;<span class="xmlverb-text">,</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2551">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:condition</span>" /&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">if</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2555">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2557">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">m:apply</span>"&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e2559">mo</a></span>&gt;<span class="xmlverb-text">:</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2562">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:apply</span>" /&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2565">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">m:reln</span>"&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e2567">mo</a></span>&gt;<span class="xmlverb-text">:</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2570">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:reln</span>" /&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> exist</span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2578">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:exists]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e2580">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e2582">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2584">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$Exists</span>" /&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e2587">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2589">for-each</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:bvar[position()!=last()]</span>"&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2591">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">.</span>" /&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e2593">mo</a></span>&gt;<span class="xmlverb-text">,</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">for-each</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2597">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:bvar[position()=last()]</span>" /&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2600">if</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">m:condition</span>"&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-name"><a name="d20e2602">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e2604">mo</a></span>&gt;<span class="xmlverb-text">,</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2607">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:condition</span>" /&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">if</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2611">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2613">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">m:apply</span>"&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e2615">mo</a></span>&gt;<span class="xmlverb-text">:</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2618">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:apply</span>" /&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2621">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">m:reln</span>"&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e2623">mo</a></span>&gt;<span class="xmlverb-text">:</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2626">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:reln</span>" /&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> absolute value </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2635">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:abs]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e2637">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e2639">mo</a></span>&gt;<span class="xmlverb-text">|</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2642">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()=last()]</span>" /&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e2644">mo</a></span>&gt;<span class="xmlverb-text">|</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> conjugate </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2651">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:conjugate]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e2653">mover</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2655">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e2657">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2659">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$ovbar</span>" /&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> does not work, UNICODE x0233D  or perhaps OverBar</span>--&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mover</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> argument of complex number </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2668">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:arg]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e2670">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e2672">mi</a></span>&gt;<span class="xmlverb-text">arg</span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e2675">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2677">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$ApplyFunction</span>" /&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e2680">mfenced</a></span> <span class="xmlverb-attr-name">separators</span>="<span class="xmlverb-attr-content"></span>"&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2682">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> real part of complex number </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2690">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:real]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e2692">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e2694">mi</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2696">text</a></span> <span class="xmlverb-attr-name">disable-output-escaping</span>="<span class="xmlverb-attr-content">yes</span>"&gt;<span class="xmlverb-text">ℜ</span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">text</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> &amp;Re; or &amp;realpart; should work</span>--&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e2702">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2704">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$ApplyFunction</span>" /&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e2707">mfenced</a></span> <span class="xmlverb-attr-name">separators</span>="<span class="xmlverb-attr-content"></span>"&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2709">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> imaginary part of complex number </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2716">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:imaginary]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e2718">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e2720">mi</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2722">text</a></span> <span class="xmlverb-attr-name">disable-output-escaping</span>="<span class="xmlverb-attr-content">yes</span>"&gt;<span class="xmlverb-text">ℑ</span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">text</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> &amp;Im; or &amp;impartl should work</span>--&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e2728">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2730">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$ApplyFunction</span>" /&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e2733">mfenced</a></span> <span class="xmlverb-attr-name">separators</span>="<span class="xmlverb-attr-content"></span>"&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2735">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> lowest common multiple </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2742">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:lcm]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e2744">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e2746">mi</a></span>&gt;<span class="xmlverb-text">lcm</span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e2749">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2751">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$ApplyFunction</span>" /&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e2754">mfenced</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2756">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()!=1]</span>" /&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> floor </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2764">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:floor]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e2766">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e2768">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2770">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$LeftFloor</span>" /&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2773">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()=last()]</span>" /&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e2775">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2777">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$RightFloor</span>" /&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> ceiling </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2784">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:ceiling]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e2786">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e2788">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2790">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$LeftCeiling</span>" /&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2793">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()=last()]</span>" /&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e2795">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2797">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$RightCeiling</span>" /&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> #################### 4.4.4 #################### </span>--&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> equal to </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2806">template</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">eqRel</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2808">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2810">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">count(*)&amp;gt;=3</span>"&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-name"><a name="d20e2812">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2814">for-each</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()!=1 and position()!=last()]</span>"&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2816">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">.</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e2818">mo</a></span>&gt;<span class="xmlverb-text">=</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">for-each</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2822">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()=last()]</span>" /&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2826">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">count(*)=2</span>"&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-name"><a name="d20e2828">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e2830">mo</a></span>&gt;<span class="xmlverb-text">=</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2833">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2837">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-name"><a name="d20e2839">mo</a></span>&gt;<span class="xmlverb-text">=</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2846">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:eq]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2848">call-template</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">eqRel</span>" /&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2851">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:reln[*[1][self::m:eq]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2853">call-template</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">eqRel</span>" /&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> not equal to </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2858">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:neq]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e2860">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2862">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e2864">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2866">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$NotEqual</span>" /&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2869">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[3]</span>" /&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2873">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:reln[*[1][self::m:neq]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e2875">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2877">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e2879">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2881">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$NotEqual</span>" /&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2884">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[3]</span>" /&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> greater than </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2891">template</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">gtRel</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2893">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2895">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">count(*)&amp;gt;=3</span>"&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-name"><a name="d20e2897">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2899">for-each</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()!=1 and position()!=last()]</span>"&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2901">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">.</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e2903">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2905">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$gt</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">for-each</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2909">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()=last()]</span>" /&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2913">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">count(*)=2</span>"&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-name"><a name="d20e2915">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e2917">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2919">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$gt</span>" /&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2922">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2926">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-name"><a name="d20e2928">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2930">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$gt</span>" /&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2936">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:gt]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2938">call-template</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">gtRel</span>" /&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2941">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:reln[*[1][self::m:gt]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2943">call-template</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">gtRel</span>" /&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> less than </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2948">template</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">ltRel</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2950">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2952">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">count(*)&amp;gt;=3</span>"&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-name"><a name="d20e2954">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2956">for-each</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()!=1 and position()!=last()]</span>"&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2958">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">.</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e2960">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2962">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$lt</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">for-each</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2966">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()=last()]</span>" /&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2970">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">count(*)=2</span>"&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-name"><a name="d20e2972">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e2974">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2976">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$lt</span>" /&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2979">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2983">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-name"><a name="d20e2985">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2987">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$lt</span>" /&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2993">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:lt]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2995">call-template</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">ltRel</span>" /&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e2999">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:reln[*[1][self::m:lt]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3001">call-template</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">ltRel</span>" /&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> greater than or equal to </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3006">template</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">geqRel</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3008">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3010">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">count(*)&amp;gt;=3</span>"&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-name"><a name="d20e3012">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3014">for-each</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()!=1 and position()!=last()]</span>"&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3016">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">.</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e3018">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3020">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$GreaterEqual</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">for-each</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3024">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()=last()]</span>" /&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3028">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">count(*)=2</span>"&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-name"><a name="d20e3030">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e3032">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3034">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$GreaterEqual</span>" /&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3037">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3041">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-name"><a name="d20e3043">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3045">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$GreaterEqual</span>" /&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3051">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:geq]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3053">call-template</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">geqRel</span>" /&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3056">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:reln[*[1][self::m:geq]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3058">call-template</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">geqRel</span>" /&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> less than or equal to </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3064">template</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">leqRel</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3066">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3068">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">count(*)&amp;gt;=3</span>"&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-name"><a name="d20e3070">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3072">for-each</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()!=1 and position()!=last()]</span>"&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3074">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">.</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e3076">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3078">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$LessEqual</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">for-each</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3082">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()=last()]</span>" /&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3086">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">count(*)=2</span>"&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-name"><a name="d20e3088">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e3090">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3092">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$LessEqual</span>" /&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3095">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3099">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-name"><a name="d20e3101">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3103">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$LessEqual</span>" /&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3109">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:leq]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3111">call-template</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">leqRel</span>" /&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3114">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:reln[*[1][self::m:leq]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3116">call-template</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">leqRel</span>" /&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> equivalent </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3121">template</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">equivRel</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3123">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3125">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">count(*)&amp;gt;=3</span>"&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-name"><a name="d20e3127">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3129">for-each</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()!=1 and position()!=last()]</span>"&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3131">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">.</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e3133">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3135">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$equiv</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">for-each</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3139">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()=last()]</span>" /&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3143">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">count(*)=2</span>"&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-name"><a name="d20e3145">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e3147">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3149">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$equiv</span>" /&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3152">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3156">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-name"><a name="d20e3158">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3160">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$equiv</span>" /&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3166">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:equivalent]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3168">call-template</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">equivRel</span>" /&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3172">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:reln[*[1][self::m:equivalent]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3174">call-template</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">equivRel</span>" /&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> approximately equal </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3179">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:approx]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e3181">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3183">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e3185">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3187">text</a></span> <span class="xmlverb-attr-name">disable-output-escaping</span>="<span class="xmlverb-attr-content">yes</span>"&gt;<span class="xmlverb-text">≈</span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">text</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> &amp;TildeTilde; or &amp;approx; should work</span>--&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3193">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[3]</span>" /&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3197">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:reln[*[1][self::m:approx]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e3199">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3201">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e3203">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3205">text</a></span> <span class="xmlverb-attr-name">disable-output-escaping</span>="<span class="xmlverb-attr-content">yes</span>"&gt;<span class="xmlverb-text">≈</span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">text</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> &amp;TildeTilde; or &amp;approx; should work</span>--&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3211">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[3]</span>" /&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> factor of </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3217">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:factorof]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e3219">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3221">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e3223">mo</a></span>&gt;<span class="xmlverb-text">|</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3226">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[3]</span>" /&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> #################### 4.4.5 #################### </span>--&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> integral </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3235">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:int]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e3237">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3239">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3241">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">m:condition</span>"&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> integration domain expressed by a condition</span>--&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e3245">msub</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e3247">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3249">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$Integral</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3252">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:condition</span>" /&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">msub</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e3255">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3257">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()=last()]</span>" /&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e3260">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e3262">mo</a></span>&gt;<span class="xmlverb-text">d</span>&lt;!--<span class="xmlverb-comment">DifferentialD does not work</span>--&gt;&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3266">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:bvar</span>" /&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3270">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">m:domainofapplication</span>"&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> integration domain expressed by a domain of application</span>--&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e3274">msub</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e3276">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3278">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$Integral</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3281">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:domainofapplication</span>" /&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">msub</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e3284">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3286">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()=last()]</span>" /&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3290">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3292">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3294">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">m:interval</span>"&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> integration domain expressed by an interval</span>--&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-name"><a name="d20e3298">msubsup</a></span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-name"><a name="d20e3300">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3302">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$Integral</span>" /&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3305">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:interval/*[1]</span>" /&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3307">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:interval/*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-name">msubsup</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3310">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()=last()]</span>" /&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-name"><a name="d20e3312">mo</a></span>&gt;<span class="xmlverb-text">d</span>&lt;!--<span class="xmlverb-comment">DifferentialD does not work</span>--&gt;&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3316">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:bvar</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3319">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">m:lowlimit</span>"&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> integration domain expressed by lower and upper limits</span>--&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-name"><a name="d20e3323">msubsup</a></span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-name"><a name="d20e3325">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3327">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$Integral</span>" /&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-name"><a name="d20e3330">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3332">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:lowlimit</span>" /&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-name"><a name="d20e3335">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3337">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:uplimit</span>" /&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-name">msubsup</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3341">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()=last()]</span>" /&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-name"><a name="d20e3343">mo</a></span>&gt;<span class="xmlverb-text">d</span>&lt;!--<span class="xmlverb-comment">DifferentialD does not work</span>--&gt;&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3347">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:bvar</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3350">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-name"><a name="d20e3352">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3354">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$Integral</span>" /&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3357">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()=last()]</span>" /&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-name"><a name="d20e3359">mo</a></span>&gt;<span class="xmlverb-text">d</span>&lt;!--<span class="xmlverb-comment">DifferentialD does not work</span>--&gt;&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3363">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:bvar</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> differentiation </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3373">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:diff]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e3375">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3377">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3379">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">m:bvar/m:degree</span>"&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> if the order of the derivative is specified</span>--&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3383">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3385">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">contains(m:bvar/m:degree/m:cn/text(),'1') and string-length(normalize-space(m:bvar/m:degree/m:cn/text()))=1</span>"&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-name"><a name="d20e3387">mfrac</a></span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-name"><a name="d20e3389">mo</a></span>&gt;<span class="xmlverb-text">d</span>&lt;!--<span class="xmlverb-comment">DifferentialD does not work</span>--&gt;&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-name"><a name="d20e3393">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-name"><a name="d20e3395">mo</a></span>&gt;<span class="xmlverb-text">d</span>&lt;!--<span class="xmlverb-comment">DifferentialD does not work</span>--&gt;&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3399">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:bvar/*[not(self::m:degree)]</span>" /&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-name">mfrac</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-name"><a name="d20e3403">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3405">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3407">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">m:apply[position()=last()]/m:fn[1]</span>"&gt;<span class="xmlverb-text"><br></br>
                    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3409">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()=last()]</span>" /&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment">add brackets around expression if not a function</span>--&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3414">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
                    </span>&lt;<span class="xmlverb-element-name"><a name="d20e3416">mfenced</a></span> <span class="xmlverb-attr-name">separators</span>="<span class="xmlverb-attr-content"></span>"&gt;<span class="xmlverb-text"><br></br>
                      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3418">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()=last()]</span>" /&gt;<span class="xmlverb-text"><br></br>
                    </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3425">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> if the order of the derivative is not 1</span>--&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-name"><a name="d20e3429">mfrac</a></span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-name"><a name="d20e3431">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-name"><a name="d20e3433">msup</a></span>&gt;<span class="xmlverb-text"><br></br>
                    </span>&lt;<span class="xmlverb-element-name"><a name="d20e3435">mo</a></span>&gt;<span class="xmlverb-text">d</span>&lt;!--<span class="xmlverb-comment">DifferentialD does not work</span>--&gt;&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
                    </span>&lt;<span class="xmlverb-element-name"><a name="d20e3439">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
                      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3441">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:bvar/m:degree</span>" /&gt;<span class="xmlverb-text"><br></br>
                    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;/<span class="xmlverb-element-name">msup</span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-name"><a name="d20e3446">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-name"><a name="d20e3448">mo</a></span>&gt;<span class="xmlverb-text">d</span>&lt;!--<span class="xmlverb-comment">DifferentialD does not work</span>--&gt;&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-name"><a name="d20e3452">msup</a></span>&gt;<span class="xmlverb-text"><br></br>
                    </span>&lt;<span class="xmlverb-element-name"><a name="d20e3454">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
                      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3456">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:bvar/*[not(self::m:degree)]</span>" /&gt;<span class="xmlverb-text"><br></br>
                    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
                    </span>&lt;<span class="xmlverb-element-name"><a name="d20e3459">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
                      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3461">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:bvar/m:degree</span>" /&gt;<span class="xmlverb-text"><br></br>
                    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;/<span class="xmlverb-element-name">msup</span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-name">mfrac</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-name"><a name="d20e3467">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3469">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3471">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">m:apply[position()=last()]/m:fn[1]</span>"&gt;<span class="xmlverb-text"><br></br>
                    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3473">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()=last()]</span>" /&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3476">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
                    </span>&lt;<span class="xmlverb-element-name"><a name="d20e3478">mfenced</a></span> <span class="xmlverb-attr-name">separators</span>="<span class="xmlverb-attr-content"></span>"&gt;<span class="xmlverb-text"><br></br>
                      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3480">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()=last()]</span>" /&gt;<span class="xmlverb-text"><br></br>
                    </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3489">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> if no order is specified, default to 1</span>--&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3493">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3495">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">count(*)&amp;lt;=2</span>"&gt;&lt;!--<span class="xmlverb-comment">if just a function identifier, use f' instead of d(f)/dx</span>--&gt;&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3497">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text">'<br></br>
    </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3500">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-name"><a name="d20e3502">mfrac</a></span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-name"><a name="d20e3504">mo</a></span>&gt;<span class="xmlverb-text">d</span>&lt;!--<span class="xmlverb-comment">DifferentialD does not work</span>--&gt;&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-name"><a name="d20e3508">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-name"><a name="d20e3510">mo</a></span>&gt;<span class="xmlverb-text">d</span>&lt;!--<span class="xmlverb-comment">DifferentialD does not work</span>--&gt;&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3514">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:bvar</span>" /&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-name">mfrac</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-name"><a name="d20e3518">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3520">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3522">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">m:apply[position()=last()]/m:fn[1]</span>"&gt;<span class="xmlverb-text"><br></br>
                    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3524">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()=last()]</span>" /&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3527">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
                    </span>&lt;<span class="xmlverb-element-name"><a name="d20e3529">mfenced</a></span> <span class="xmlverb-attr-name">separators</span>="<span class="xmlverb-attr-content"></span>"&gt;<span class="xmlverb-text"><br></br>
                      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3531">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()=last()]</span>" /&gt;<span class="xmlverb-text"><br></br>
                    </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> partial differentiation </span>--&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> the latest working draft sets the default rendering of the numerator<br></br>
to only one mfrac with one PartialD for the numerator, exponent being the sum<br></br>
of every partial diff's orders; not supported yet (I am not sure it is even possible with XSLT)</span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3547">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:partialdiff]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e3549">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3551">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3553">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">m:list</span>"&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e3555">msub</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e3557">mo</a></span>&gt;<span class="xmlverb-text">D</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e3560">mfenced</a></span> <span class="xmlverb-attr-name">separators</span>="<span class="xmlverb-attr-content">,</span>" <span class="xmlverb-attr-name">open</span>="<span class="xmlverb-attr-content"></span>" <span class="xmlverb-attr-name">close</span>="<span class="xmlverb-attr-content"></span>"&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3562">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:list/*</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">msub</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e3566">mfenced</a></span> <span class="xmlverb-attr-name">open</span>="<span class="xmlverb-attr-content">(</span>" <span class="xmlverb-attr-name">close</span>="<span class="xmlverb-attr-content">)</span>"&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3568">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[not(self::m:list)]</span>" /&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3572">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3574">for-each</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:bvar</span>"&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3576">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3578">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">m:degree</span>"&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> if the order of the derivative is specified</span>--&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3582">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3584">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">contains(m:degree/m:cn/text(),'1') and string-length(normalize-space(m:degree/m:cn/text()))=1</span>"&gt;<span class="xmlverb-text"><br></br>
                    </span>&lt;<span class="xmlverb-element-name"><a name="d20e3586">mfrac</a></span>&gt;<span class="xmlverb-text"><br></br>
                      </span>&lt;<span class="xmlverb-element-name"><a name="d20e3588">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
                        </span>&lt;<span class="xmlverb-element-name"><a name="d20e3590">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
                          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3592">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$PartialD</span>" /&gt;<span class="xmlverb-text"><br></br>
                        </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
                      </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
                      </span>&lt;<span class="xmlverb-element-name"><a name="d20e3596">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
                        </span>&lt;<span class="xmlverb-element-name"><a name="d20e3598">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
                          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3600">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$PartialD</span>" /&gt;<span class="xmlverb-text"><br></br>
                        </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
                        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3603">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[not(self::m:degree)]</span>" /&gt;<span class="xmlverb-text"><br></br>
                      </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
                    </span>&lt;/<span class="xmlverb-element-name">mfrac</span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3608">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> if the order of the derivative is not 1</span>--&gt;<span class="xmlverb-text"><br></br>
                    </span>&lt;<span class="xmlverb-element-name"><a name="d20e3612">mfrac</a></span>&gt;<span class="xmlverb-text"><br></br>
                      </span>&lt;<span class="xmlverb-element-name"><a name="d20e3614">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
                        </span>&lt;<span class="xmlverb-element-name"><a name="d20e3616">msup</a></span>&gt;<span class="xmlverb-text"><br></br>
                          </span>&lt;<span class="xmlverb-element-name"><a name="d20e3618">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
                            </span>&lt;<span class="xmlverb-element-name"><a name="d20e3620">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
                              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3622">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$PartialD</span>" /&gt;<span class="xmlverb-text"><br></br>
                            </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
                          </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
                          </span>&lt;<span class="xmlverb-element-name"><a name="d20e3626">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
                            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3628">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:degree</span>" /&gt;<span class="xmlverb-text"><br></br>
                          </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
                        </span>&lt;/<span class="xmlverb-element-name">msup</span>&gt;<span class="xmlverb-text"><br></br>
                      </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
                      </span>&lt;<span class="xmlverb-element-name"><a name="d20e3633">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
                        </span>&lt;<span class="xmlverb-element-name"><a name="d20e3635">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
                          </span>&lt;<span class="xmlverb-element-name"><a name="d20e3637">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
                            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3639">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$PartialD</span>" /&gt;<span class="xmlverb-text"><br></br>
                          </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
                        </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
                        </span>&lt;<span class="xmlverb-element-name"><a name="d20e3643">msup</a></span>&gt;<span class="xmlverb-text"><br></br>
                          </span>&lt;<span class="xmlverb-element-name"><a name="d20e3645">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
                            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3647">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[not(self::m:degree)]</span>" /&gt;<span class="xmlverb-text"><br></br>
                          </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
                          </span>&lt;<span class="xmlverb-element-name"><a name="d20e3650">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
                            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3652">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:degree</span>" /&gt;<span class="xmlverb-text"><br></br>
                          </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
                        </span>&lt;/<span class="xmlverb-element-name">msup</span>&gt;<span class="xmlverb-text"><br></br>
                      </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
                    </span>&lt;/<span class="xmlverb-element-name">mfrac</span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3661">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> if no order is specified, default to 1</span>--&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-name"><a name="d20e3665">mfrac</a></span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-name"><a name="d20e3667">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
                    </span>&lt;<span class="xmlverb-element-name"><a name="d20e3669">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
                      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3671">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$PartialD</span>" /&gt;<span class="xmlverb-text"><br></br>
                    </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-name"><a name="d20e3675">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
                    </span>&lt;<span class="xmlverb-element-name"><a name="d20e3677">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
                      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3679">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$PartialD</span>" /&gt;<span class="xmlverb-text"><br></br>
                    </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
                    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3682">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">.</span>" /&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;/<span class="xmlverb-element-name">mfrac</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">for-each</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e3689">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3691">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3693">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">m:apply[position()=last()]/m:fn[1]</span>"&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3695">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()=last()]</span>" /&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment">add brackets around expression if not a function</span>--&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3700">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-name"><a name="d20e3702">mfenced</a></span> <span class="xmlverb-attr-name">separators</span>="<span class="xmlverb-attr-content"></span>"&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3704">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()=last()]</span>" /&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> lowlimit </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3717">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:lowlimit</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3719">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*</span>" /&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> uplimit </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3724">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:uplimit</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3726">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*</span>" /&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> bvar </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3731">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:bvar</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3733">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*</span>" /&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> degree </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3739">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:degree</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3741">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*</span>" /&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> divergence </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3746">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:divergence]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e3748">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e3750">mi</a></span>&gt;<span class="xmlverb-text">div</span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3753">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3755">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">*[2][self::m:apply] or (*[2][self::m:ci or self::m:cn] and contains(*[2]/text(),'-'))</span>"&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e3757">mfenced</a></span> <span class="xmlverb-attr-name">separators</span>="<span class="xmlverb-attr-content"></span>"&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3759">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3763">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3765">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> gradient </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3773">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:grad]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e3775">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e3777">mi</a></span>&gt;<span class="xmlverb-text">grad</span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3780">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3782">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">*[2][self::m:apply] or (*[2][self::m:ci or self::m:cn] and contains(*[2]/text(),'-'))</span>"&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e3784">mfenced</a></span> <span class="xmlverb-attr-name">separators</span>="<span class="xmlverb-attr-content"></span>"&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3786">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3790">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3792">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> vector calculus curl </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3801">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:curl]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e3803">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e3805">mi</a></span>&gt;<span class="xmlverb-text">curl</span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3808">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3810">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">*[2][self::m:apply] or (*[2][self::m:ci or self::m:cn] and contains(*[2]/text(),'-'))</span>"&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e3812">mfenced</a></span> <span class="xmlverb-attr-name">separators</span>="<span class="xmlverb-attr-content"></span>"&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3814">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3818">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3820">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> laplacian </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3828">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:laplacian]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e3830">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e3832">msup</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-name"><a name="d20e3834">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3836">text</a></span> <span class="xmlverb-attr-name">disable-output-escaping</span>="<span class="xmlverb-attr-content">yes</span>"&gt;<span class="xmlverb-text">∇</span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">text</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> Del or nabla should work</span>--&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-name"><a name="d20e3842">mn</a></span>&gt;<span class="xmlverb-text">2</span>&lt;/<span class="xmlverb-element-name">mn</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-name">msup</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3846">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3848">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">*[2][self::m:apply] or (*[2][self::m:ci or self::m:cn] and contains(*[2]/text(),'-'))</span>"&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e3850">mfenced</a></span> <span class="xmlverb-attr-name">separators</span>="<span class="xmlverb-attr-content"></span>"&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3852">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3856">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3858">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> #################### 4.4.6 #################### </span>--&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> set </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3868">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:set</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e3870">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3872">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3874">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">m:condition</span>"&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> set defined by a condition</span>--&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e3878">mo</a></span>&gt;<span class="xmlverb-text">{</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e3881">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e3883">mfenced</a></span> <span class="xmlverb-attr-name">open</span>="<span class="xmlverb-attr-content"></span>" <span class="xmlverb-attr-name">close</span>="<span class="xmlverb-attr-content"></span>"&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3885">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:bvar</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e3888">mo</a></span>&gt;<span class="xmlverb-text">|</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3891">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:condition</span>" /&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e3894">mo</a></span>&gt;<span class="xmlverb-text">}</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3898">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> set defined by an enumeration </span>--&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e3902">mfenced</a></span> <span class="xmlverb-attr-name">open</span>="<span class="xmlverb-attr-content">{{</span>" <span class="xmlverb-attr-name">close</span>="<span class="xmlverb-attr-content">}}</span>" <span class="xmlverb-attr-name">separators</span>="<span class="xmlverb-attr-content">,</span>"&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3904">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*</span>" /&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> list </span>--&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> sorting is not supported yet; not sure we should do it; anyway, can be  done using xsl:sort</span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3916">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:list</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e3918">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3920">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3922">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">m:condition</span>"&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> set defined by a condition</span>--&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e3926">mo</a></span>&gt;<span class="xmlverb-text">[</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e3929">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e3931">mfenced</a></span> <span class="xmlverb-attr-name">open</span>="<span class="xmlverb-attr-content"></span>" <span class="xmlverb-attr-name">close</span>="<span class="xmlverb-attr-content"></span>"&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3933">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:bvar</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e3936">mo</a></span>&gt;<span class="xmlverb-text">|</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3939">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:condition</span>" /&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e3942">mo</a></span>&gt;<span class="xmlverb-text">]</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3946">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> set defined by an enumeration </span>--&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e3950">mfenced</a></span> <span class="xmlverb-attr-name">open</span>="<span class="xmlverb-attr-content">[</span>" <span class="xmlverb-attr-name">close</span>="<span class="xmlverb-attr-content">]</span>"&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3952">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*</span>" /&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> union </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3961">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:union]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e3963">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3965">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3967">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">count(*)&amp;gt;=3</span>"&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3969">for-each</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()!=last() and position()!=1]</span>"&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3971">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">.</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e3973">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3975">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$Union</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">for-each</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3979">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()=last()]</span>" /&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3982">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">count(*)=2</span>"&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e3984">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3986">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$Union</span>" /&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3989">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()=last()]</span>" /&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3992">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e3994">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e3996">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$Union</span>" /&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> intersection </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4005">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:intersect]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e4007">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4009">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4011">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">count(*)&amp;gt;=3</span>"&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4013">for-each</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()!=last() and position()!=1]</span>"&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4015">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4017">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">m:union</span>"&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> add brackets around UNION children for priority purpose: intersection has higher precedence than union </span>--&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-name"><a name="d20e4021">mfenced</a></span> <span class="xmlverb-attr-name">separators</span>="<span class="xmlverb-attr-content"></span>"&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4023">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">.</span>" /&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-name"><a name="d20e4026">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4028">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$Intersection</span>" /&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4032">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4034">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">.</span>" /&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-name"><a name="d20e4036">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4038">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$Intersection</span>" /&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">for-each</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4044">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()=last()]</span>" /&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4047">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">count(*)=2</span>"&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e4049">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4051">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$Intersection</span>" /&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4054">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()=last()]</span>" /&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4057">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e4059">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4061">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$Intersection</span>" /&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> inclusion </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4071">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:in]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e4073">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4075">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e4077">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4079">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$isin</span>" /&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4082">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[3]</span>" /&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4086">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:reln[*[1][self::m:in]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e4088">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4090">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e4092">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4094">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$isin</span>" /&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4097">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[3]</span>" /&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> exclusion </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4103">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:notin]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e4105">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4107">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e4109">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4111">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$notin</span>" /&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4114">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[3]</span>" /&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4118">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:reln[*[1][self::m:notin]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e4120">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4122">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e4124">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4126">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$notin</span>" /&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4129">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[3]</span>" /&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> containment (subset of)</span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4136">template</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">subsetRel</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e4138">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4140">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4142">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">count(*)&amp;gt;=3</span>"&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4144">for-each</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()!=last() and position()!=1]</span>"&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4146">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">.</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e4148">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4150">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$SubsetEqual</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">for-each</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4154">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()=last()]</span>" /&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4157">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">count(*)=2</span>"&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e4159">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4161">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$SubsetEqual</span>" /&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4164">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()=last()]</span>" /&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4167">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e4169">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4171">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$SubsetEqual</span>" /&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4178">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:subset]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4180">call-template</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">subsetRel</span>" /&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4183">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:reln[*[1][self::m:subset]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4185">call-template</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">subsetRel</span>" /&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> containment (proper subset of) </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4190">template</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">prsubsetRel</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e4192">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4194">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4196">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">count(*)&amp;gt;=3</span>"&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4198">for-each</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()!=last() and position()!=1]</span>"&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4200">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">.</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e4202">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4204">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$Subset</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">for-each</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4208">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()=last()]</span>" /&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4211">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">count(*)=2</span>"&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e4213">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4215">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$Subset</span>" /&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4218">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()=last()]</span>" /&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4221">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e4223">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4225">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$Subset</span>" /&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4232">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:prsubset]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4234">call-template</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">prsubsetRel</span>" /&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4238">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:reln[*[1][self::m:prsubset]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4240">call-template</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">prsubsetRel</span>" /&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> perhaps Subset and SubsetEqual signs are used in place of one another ; not according to the spec </span>--&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> containment (not subset of)</span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4247">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:notsubset]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e4249">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4251">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e4253">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4255">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$NotSubset</span>" /&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4258">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[3]</span>" /&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4262">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:reln[*[1][self::m:notsubset]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e4264">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4266">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e4268">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4270">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$NotSubset</span>" /&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4273">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[3]</span>" /&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> containment (not proper subset of) </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4280">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:notprsubset]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e4282">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4284">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e4286">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4288">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$NotSubsetEqual</span>" /&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> does not work, perhaps nsube, or nsubE, or nsubseteqq or nsubseteq, UNICODE x02288</span>--&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4293">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[3]</span>" /&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4297">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:reln[*[1][self::m:notprsubset]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e4299">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4301">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e4303">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4305">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$NotSubsetEqual</span>" /&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> does not work, perhaps nsube, or nsubE, or nsubseteqq or nsubseteq, UNICODE x02288</span>--&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4310">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[3]</span>" /&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> difference of two sets </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4316">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:setdiff]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e4318">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4320">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e4322">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4324">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$Backslash</span>" /&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4327">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[3]</span>" /&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> cardinality </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4333">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:card]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e4335">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e4337">mo</a></span>&gt;<span class="xmlverb-text">|</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4340">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()=last()]</span>" /&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e4342">mo</a></span>&gt;<span class="xmlverb-text">|</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> cartesian product </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4350">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:cartesianproduct]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4352">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4354">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">count(*)&amp;gt;=3</span>"&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-name"><a name="d20e4356">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4358">for-each</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()!=last() and position()!=1]</span>"&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4360">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4362">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">m:plus</span>"&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment">add brackets around + children for priority purpose</span>--&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-name"><a name="d20e4366">mfenced</a></span> <span class="xmlverb-attr-name">separators</span>="<span class="xmlverb-attr-content"></span>"&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4368">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">.</span>" /&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-name"><a name="d20e4371">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4373">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$times</span>" /&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4377">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">m:minus</span>"&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment">add brackets around - children for priority purpose</span>--&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-name"><a name="d20e4381">mfenced</a></span> <span class="xmlverb-attr-name">separators</span>="<span class="xmlverb-attr-content"></span>"&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4383">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">.</span>" /&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-name"><a name="d20e4386">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4388">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$times</span>" /&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4392">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">(self::m:ci or self::m:cn) and contains(text(),'-')</span>"&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> have to do it using contains because starts-with doesn't seem to work well in XT</span>--&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-name"><a name="d20e4396">mfenced</a></span> <span class="xmlverb-attr-name">separators</span>="<span class="xmlverb-attr-content"></span>"&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4398">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">.</span>" /&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-name"><a name="d20e4401">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4403">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$times</span>" /&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4407">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4409">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">.</span>" /&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-name"><a name="d20e4411">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4413">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$times</span>" /&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">for-each</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4419">for-each</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()=last()]</span>"&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4421">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4423">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">m:plus</span>"&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-name"><a name="d20e4425">mfenced</a></span> <span class="xmlverb-attr-name">separators</span>="<span class="xmlverb-attr-content"></span>"&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4427">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">.</span>" /&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4431">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">m:minus</span>"&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-name"><a name="d20e4433">mfenced</a></span> <span class="xmlverb-attr-name">separators</span>="<span class="xmlverb-attr-content"></span>"&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4435">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">.</span>" /&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4439">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">(self::m:ci or self::m:cn) and contains(text(),'-')</span>"&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> have to do it using contains because starts-with doesn't seem to work well in  XT</span>--&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-name"><a name="d20e4443">mfenced</a></span> <span class="xmlverb-attr-name">separators</span>="<span class="xmlverb-attr-content"></span>"&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4445">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">.</span>" /&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4449">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4451">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">.</span>" /&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">for-each</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4458">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">count(*)=2</span>"&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> unary </span>--&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-name"><a name="d20e4462">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e4464">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4466">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$times</span>" /&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4469">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4471">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">m:plus</span>"&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-name"><a name="d20e4473">mfenced</a></span> <span class="xmlverb-attr-name">separators</span>="<span class="xmlverb-attr-content"></span>"&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4475">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4479">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">m:minus</span>"&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-name"><a name="d20e4481">mfenced</a></span> <span class="xmlverb-attr-name">separators</span>="<span class="xmlverb-attr-content"></span>"&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4483">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4487">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">*[2][self::m:ci or self::m:cn] and contains(*[2]/text(),'-')</span>"&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-name"><a name="d20e4489">mfenced</a></span> <span class="xmlverb-attr-name">separators</span>="<span class="xmlverb-attr-content"></span>"&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4491">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4495">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4497">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4503">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> no operand </span>--&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-name"><a name="d20e4507">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4509">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$InvisibleTimes</span>" /&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> #################### 4.4.7 #################### </span>--&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> sum </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4519">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:sum]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e4521">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4523">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4525">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">m:condition and m:domainofapplication</span>"&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> domainofapplication as well as condition </span>--&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e4529">munder</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e4531">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4533">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$Sum</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e4536">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-name"><a name="d20e4538">munder</a></span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-name"><a name="d20e4540">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4542">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:domainofapplication</span>" /&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-name"><a name="d20e4545">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4547">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:condition</span>" /&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-name">munder</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">munder</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4554">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">m:condition and m:lowlimit and m:uplimit</span>"&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> uplimit and lowlimit as well as condition </span>--&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e4558">munderover</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e4560">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4562">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$Sum</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e4565">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-name"><a name="d20e4567">munder</a></span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-name"><a name="d20e4569">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4571">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:bvar</span>" /&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-name"><a name="d20e4573">mo</a></span>&gt;<span class="xmlverb-text">=</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4576">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:lowlimit</span>" /&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-name"><a name="d20e4579">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4581">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:condition</span>" /&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-name">munder</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e4586">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4588">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:uplimit</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">munderover</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4593">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">m:condition</span>"&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> domain specified by a condition </span>--&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e4597">munder</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e4599">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4601">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$Sum</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4604">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:condition</span>" /&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">munder</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4608">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">m:domainofapplication</span>"&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> domain specified by domain of application </span>--&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e4612">munder</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e4614">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4616">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$Sum</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4619">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:domainofapplication</span>" /&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">munder</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4623">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">m:lowlimit and m:uplimit</span>"&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> domain specified by low and up limits </span>--&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e4627">munderover</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e4629">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4631">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$Sum</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e4634">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4636">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:bvar</span>" /&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-name"><a name="d20e4638">mo</a></span>&gt;<span class="xmlverb-text">=</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4641">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:lowlimit</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e4644">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4646">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:uplimit</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">munderover</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4652">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e4654">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4656">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$Sum</span>" /&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4661">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4663">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">*[position()=last() and self::m:apply]</span>"&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> if expression is complex, wrap it in brackets </span>--&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e4667">mfenced</a></span> <span class="xmlverb-attr-name">separators</span>="<span class="xmlverb-attr-content"></span>"&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4669">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()=last()]</span>" /&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4673">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> if not put it in an mrow </span>--&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e4677">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4679">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()=last()]</span>" /&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> product </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4688">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:product]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e4690">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4692">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4694">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">m:condition and m:domainofapplication</span>"&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> domainofapplication as well as condition </span>--&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e4698">munder</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e4700">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4702">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$Product</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e4705">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-name"><a name="d20e4707">munder</a></span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-name"><a name="d20e4709">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4711">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:domainofapplication</span>" /&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-name"><a name="d20e4714">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4716">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:condition</span>" /&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-name">munder</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">munder</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4723">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">m:condition and m:lowlimit and m:uplimit</span>"&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> uplimit and lowlimit as well as condition </span>--&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e4727">munderover</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e4729">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4731">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$Product</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e4734">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-name"><a name="d20e4736">munder</a></span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-name"><a name="d20e4738">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4740">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:bvar</span>" /&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-name"><a name="d20e4742">mo</a></span>&gt;<span class="xmlverb-text">=</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4745">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:lowlimit</span>" /&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-name"><a name="d20e4748">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4750">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:condition</span>" /&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-name">munder</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e4755">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4757">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:uplimit</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">munderover</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4762">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">m:condition</span>"&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> domain specified by a condition </span>--&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e4766">munder</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e4768">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4770">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$Product</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4773">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:condition</span>" /&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">munder</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4777">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">m:domainofapplication</span>"&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment">domain specified by a domain </span>--&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e4781">munder</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e4783">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4785">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$Product</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4788">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:domainofapplication</span>" /&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">munder</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4792">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> domain specified by low and up limits </span>--&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e4796">munderover</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e4798">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4800">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$Product</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e4803">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4805">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:bvar</span>" /&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-name"><a name="d20e4807">mo</a></span>&gt;<span class="xmlverb-text">=</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4810">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:lowlimit</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e4813">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4815">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:uplimit</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">munderover</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4821">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4823">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">*[position()=last() and self::m:apply]</span>"&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> if expression is complex, wrap it in brackets </span>--&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e4827">mfenced</a></span> <span class="xmlverb-attr-name">separators</span>="<span class="xmlverb-attr-content"></span>"&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4829">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()=last()]</span>" /&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4833">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> if not put it in an mrow </span>--&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e4837">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4839">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()=last()]</span>" /&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> limit </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4849">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:limit]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e4851">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4853">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4855">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">m:condition</span>"&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e4857">munder</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e4859">mo</a></span>&gt;<span class="xmlverb-text">lim</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4862">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:condition</span>" /&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">munder</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4866">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e4868">munder</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e4870">mo</a></span>&gt;<span class="xmlverb-text">lim</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e4873">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4875">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:bvar</span>" /&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-name"><a name="d20e4877">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4879">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$RightArrow</span>" /&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4882">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:lowlimit</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">munder</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e4888">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4890">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()=last()]</span>" /&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> tends to </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4897">template</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">tendstoRel</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e4899">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4901">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4903">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">m:tendsto/@type</span>"&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4905">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4907">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">m:tendsto/@type='above'</span>"&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> from above </span>--&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4911">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-name"><a name="d20e4913">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4915">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$DownArrow</span>" /&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4918">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[3]</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4921">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">m:tendsto/@type='below'</span>"&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> from below </span>--&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4925">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-name"><a name="d20e4927">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4929">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$UpArrow</span>" /&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4932">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[3]</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4935">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">m:tendsto/@type='two-sided'</span>"&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> from above or below </span>--&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4939">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-name"><a name="d20e4941">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4943">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$RightArrow</span>" /&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4946">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[3]</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4951">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> no type attribute </span>--&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4955">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e4957">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4959">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$RightArrow</span>" /&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4962">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[3]</span>" /&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4968">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:tendsto]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4970">call-template</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">tendstoRel</span>" /&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4973">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:reln[*[1][self::m:tendsto]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4975">call-template</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">tendstoRel</span>" /&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> #################### 4.4.8 #################### </span>--&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> main template for all trigonometric functions </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4983">template</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">trigo</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4985">param</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">func</span>"&gt;<span class="xmlverb-text">sin</span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">param</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> provide sin as default function in case none is provided (this should never occur)</span>--&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e4990">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e4992">mi</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4994">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$func</span>" /&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e4997">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e4999">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$ApplyFunction</span>" /&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5002">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5004">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">*[2][self::m:apply] or (*[2][self::m:ci or self::m:cn] and contains(*[2]/text(),'-'))</span>"&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e5006">mfenced</a></span> <span class="xmlverb-attr-name">separators</span>="<span class="xmlverb-attr-content"></span>"&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5008">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5012">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e5014">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5016">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> trigonometric function: sine </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5025">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:sin]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5027">call-template</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">trigo</span>"&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5029">with-param</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">func</span>"&gt;<span class="xmlverb-text">sin</span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">with-param</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">call-template</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5034">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:sin[preceding-sibling::*[position()=last() and (self::m:compose or self::m:inverse)]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e5036">mi</a></span>&gt;<span class="xmlverb-text">sin</span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> used with inverse or composition</span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> trigonometric function: cosine </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5044">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:cos]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5046">call-template</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">trigo</span>"&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5048">with-param</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">func</span>"&gt;<span class="xmlverb-text">cos</span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">with-param</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">call-template</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5054">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:cos[preceding-sibling::*[position()=last() and (self::m:compose or self::m:inverse)]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e5056">mi</a></span>&gt;<span class="xmlverb-text">cos</span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> used with inverse or composition</span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> trigonometric function: tan </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5064">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:tan]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5066">call-template</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">trigo</span>"&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5068">with-param</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">func</span>"&gt;<span class="xmlverb-text">tan</span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">with-param</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">call-template</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5073">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:tan[preceding-sibling::*[position()=last() and (self::m:compose or self::m:inverse)]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e5075">mi</a></span>&gt;<span class="xmlverb-text">tan</span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> used with inverse or composition</span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> trigonometric function: sec </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5083">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:sec]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5085">call-template</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">trigo</span>"&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5087">with-param</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">func</span>"&gt;<span class="xmlverb-text">sec</span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">with-param</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">call-template</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5093">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:sec[preceding-sibling::*[position()=last() and (self::m:compose or self::m:inverse)]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e5095">mi</a></span>&gt;<span class="xmlverb-text">sec</span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> used with inverse or composition</span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> trigonometric function: csc </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5103">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:csc]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5105">call-template</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">trigo</span>"&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5107">with-param</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">func</span>"&gt;<span class="xmlverb-text">csc</span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">with-param</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">call-template</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5112">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:csc[preceding-sibling::*[position()=last() and (self::m:compose or self::m:inverse)]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e5114">mi</a></span>&gt;<span class="xmlverb-text">csc</span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> used with inverse or composition</span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> trigonometric function: cotan </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5122">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:cot]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5124">call-template</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">trigo</span>"&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5126">with-param</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">func</span>"&gt;<span class="xmlverb-text">cot</span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">with-param</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">call-template</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5132">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:cot[preceding-sibling::*[position()=last() and (self::m:compose or self::m:inverse)]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e5134">mi</a></span>&gt;<span class="xmlverb-text">cot</span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> used with inverse or composition</span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> trigonometric function: hyperbolic sin </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5142">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:sinh]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5144">call-template</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">trigo</span>"&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5146">with-param</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">func</span>"&gt;<span class="xmlverb-text">sinh</span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">with-param</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">call-template</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5151">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:sinh[preceding-sibling::*[position()=last() and (self::m:compose or self::m:inverse)]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e5153">mi</a></span>&gt;<span class="xmlverb-text">sinh</span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> used with inverse or composition</span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> trigonometric function: hyperbolic cos </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5161">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:cosh]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5163">call-template</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">trigo</span>"&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5165">with-param</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">func</span>"&gt;<span class="xmlverb-text">cosh</span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">with-param</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">call-template</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5171">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:cosh[preceding-sibling::*[position()=last() and (self::m:compose or self::m:inverse)]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e5173">mi</a></span>&gt;<span class="xmlverb-text">cosh</span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> used with inverse or composition</span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> trigonometric function: hyperbolic tan </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5181">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:tanh]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5183">call-template</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">trigo</span>"&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5185">with-param</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">func</span>"&gt;<span class="xmlverb-text">tanh</span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">with-param</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">call-template</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5190">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:tanh[preceding-sibling::*[position()=last() and (self::m:compose or self::m:inverse)]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e5192">mi</a></span>&gt;<span class="xmlverb-text">tanh</span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> used with inverse or composition</span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> trigonometric function: hyperbolic sec </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5200">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:sech]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5202">call-template</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">trigo</span>"&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5204">with-param</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">func</span>"&gt;<span class="xmlverb-text">sech</span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">with-param</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">call-template</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5210">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:sech[preceding-sibling::*[position()=last() and (self::m:compose or self::m:inverse)]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e5212">mi</a></span>&gt;<span class="xmlverb-text">sech</span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> used with inverse or composition</span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> trigonometric function: hyperbolic csc </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5220">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:csch]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5222">call-template</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">trigo</span>"&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5224">with-param</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">func</span>"&gt;<span class="xmlverb-text">csch</span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">with-param</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">call-template</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5229">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:csch[preceding-sibling::*[position()=last() and (self::m:compose or self::m:inverse)]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e5231">mi</a></span>&gt;<span class="xmlverb-text">csch</span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> used with inverse or composition</span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> trigonometric function: hyperbolic cotan </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5239">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:coth]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5241">call-template</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">trigo</span>"&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5243">with-param</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">func</span>"&gt;<span class="xmlverb-text">coth</span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">with-param</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">call-template</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5249">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:coth[preceding-sibling::*[position()=last() and (self::m:compose or self::m:inverse)]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e5251">mi</a></span>&gt;<span class="xmlverb-text">coth</span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> used with inverse or composition</span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> trigonometric function: arc sine </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5259">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:arcsin]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5261">call-template</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">trigo</span>"&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5263">with-param</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">func</span>"&gt;<span class="xmlverb-text">arcsin</span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">with-param</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">call-template</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5268">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:arcsin[preceding-sibling::*[position()=last() and (self::m:compose or self::m:inverse)]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e5270">mi</a></span>&gt;<span class="xmlverb-text">arcsin</span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> used with inverse or composition</span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> trigonometric function: arc cosine </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5278">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:arccos]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5280">call-template</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">trigo</span>"&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5282">with-param</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">func</span>"&gt;<span class="xmlverb-text">arccos</span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">with-param</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">call-template</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5288">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:arccos[preceding-sibling::*[position()=last() and (self::m:compose or self::m:inverse)]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e5290">mi</a></span>&gt;<span class="xmlverb-text">arccos</span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> used with inverse or composition</span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> trigonometric function: arc tan </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5298">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:arctan]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5300">call-template</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">trigo</span>"&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5302">with-param</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">func</span>"&gt;<span class="xmlverb-text">arctan</span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">with-param</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">call-template</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5307">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:arctan[preceding-sibling::*[position()=last() and (self::m:compose or self::m:inverse)]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e5309">mi</a></span>&gt;<span class="xmlverb-text">arctan</span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> used with inverse or composition</span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> trigonometric function: arc sec </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5317">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:arcsec]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5319">call-template</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">trigo</span>"&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5321">with-param</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">func</span>"&gt;<span class="xmlverb-text">arcsec</span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">with-param</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">call-template</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5327">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:arcsec[preceding-sibling::*[position()=last() and (self::m:compose or self::m:inverse)]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e5329">mi</a></span>&gt;<span class="xmlverb-text">arcsec</span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> used with inverse or composition</span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> trigonometric function: arc csc </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5337">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:arccsc]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5339">call-template</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">trigo</span>"&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5341">with-param</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">func</span>"&gt;<span class="xmlverb-text">arccsc</span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">with-param</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">call-template</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5346">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:arccsc[preceding-sibling::*[position()=last() and (self::m:compose or self::m:inverse)]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e5348">mi</a></span>&gt;<span class="xmlverb-text">arccsc</span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> used with inverse or composition</span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> trigonometric function: arc cotan </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5356">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:arccot]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5358">call-template</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">trigo</span>"&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5360">with-param</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">func</span>"&gt;<span class="xmlverb-text">arccot</span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">with-param</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">call-template</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5366">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:arccot[preceding-sibling::*[position()=last() and (self::m:compose or self::m:inverse)]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e5368">mi</a></span>&gt;<span class="xmlverb-text">arccot</span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> used with inverse or composition</span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> trigonometric function: arc sinh </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5376">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:arcsinh]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5378">call-template</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">trigo</span>"&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5380">with-param</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">func</span>"&gt;<span class="xmlverb-text">arcsinh</span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">with-param</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">call-template</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5385">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:arcsinh[preceding-sibling::*[position()=last() and (self::m:compose or self::m:inverse)]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e5387">mi</a></span>&gt;<span class="xmlverb-text">arcsinh</span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> used with inverse or composition</span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> trigonometric function: arc cosh </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5395">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:arccosh]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5397">call-template</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">trigo</span>"&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5399">with-param</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">func</span>"&gt;<span class="xmlverb-text">arccosh</span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">with-param</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">call-template</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5405">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:arccosh[preceding-sibling::*[position()=last() and (self::m:compose or self::m:inverse)]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e5407">mi</a></span>&gt;<span class="xmlverb-text">arccosh</span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> used with inverse or composition</span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> trigonometric function: arc tanh </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5415">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:arctanh]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5417">call-template</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">trigo</span>"&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5419">with-param</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">func</span>"&gt;<span class="xmlverb-text">arctanh</span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">with-param</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">call-template</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5424">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:arctanh[preceding-sibling::*[position()=last() and (self::m:compose or self::m:inverse)]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e5426">mi</a></span>&gt;<span class="xmlverb-text">arctanh</span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> used with inverse or composition</span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> trigonometric function: arc sech </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5434">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:arcsech]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5436">call-template</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">trigo</span>"&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5438">with-param</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">func</span>"&gt;<span class="xmlverb-text">arcsech</span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">with-param</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">call-template</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5444">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:arcsech[preceding-sibling::*[position()=last() and (self::m:compose or self::m:inverse)]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e5446">mi</a></span>&gt;<span class="xmlverb-text">arcsech</span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> used with inverse or composition</span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> trigonometric function: arc csch </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5454">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:arccsch]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5456">call-template</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">trigo</span>"&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5458">with-param</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">func</span>"&gt;<span class="xmlverb-text">arccsch</span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">with-param</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">call-template</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5463">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:arccsch[preceding-sibling::*[position()=last() and (self::m:compose or self::m:inverse)]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e5465">mi</a></span>&gt;<span class="xmlverb-text">arccsch</span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> used with inverse or composition</span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> trigonometric function: arc coth </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5473">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:arccoth]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5475">call-template</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">trigo</span>"&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5477">with-param</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">func</span>"&gt;<span class="xmlverb-text">arccoth</span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">with-param</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">call-template</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5483">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:arccoth[preceding-sibling::*[position()=last() and (self::m:compose or self::m:inverse)]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e5485">mi</a></span>&gt;<span class="xmlverb-text">arccoth</span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> used with inverse or composition</span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> exponential </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5493">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:exp]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e5495">msup</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e5497">mi</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5499">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$ee</span>" /&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> ExponentialE does not work yet </span>--&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5504">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">msup</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5508">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:exp[preceding-sibling::*[position()=last() and (self::m:compose or self::m:inverse)]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e5510">mi</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5512">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$ExponentialE</span>" /&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> used with inverse or composition; not sure it is appropriate for exponential</span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> natural logarithm </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5520">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:ln]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e5522">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e5524">mi</a></span>&gt;<span class="xmlverb-text">ln</span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e5527">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5529">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$ApplyFunction</span>" /&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5532">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5534">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">*[2][self::m:apply] or (*[2][self::m:ci or self::m:cn] and contains(*[2]/text(),'-'))</span>"&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e5536">mfenced</a></span> <span class="xmlverb-attr-name">separators</span>="<span class="xmlverb-attr-content"></span>"&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5538">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5542">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5544">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5551">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:ln[preceding-sibling::*[position()=last() and (self::m:compose or self::m:inverse)]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e5553">mi</a></span>&gt;<span class="xmlverb-text">ln</span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> used with inverse or composition</span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> logarithm to a given base (default 10)</span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5561">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:log]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e5563">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5565">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5567">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">m:logbase</span>"&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e5569">msub</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e5571">mi</a></span>&gt;<span class="xmlverb-text">log</span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5574">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:logbase</span>" /&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">msub</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e5577">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5579">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$ApplyFunction</span>" /&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5582">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5584">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">*[3][self::m:apply] or (*[3][self::m:ci or self::m:cn] and contains(*[3]/text(),'-'))</span>"&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-name"><a name="d20e5586">mfenced</a></span> <span class="xmlverb-attr-name">separators</span>="<span class="xmlverb-attr-content"></span>"&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5588">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[3]</span>" /&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5592">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5594">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[3]</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5599">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment">if no base is provided, default to 10</span>--&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e5603">msub</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e5605">mi</a></span>&gt;<span class="xmlverb-text">log</span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e5608">mn</a></span>&gt;<span class="xmlverb-text">10</span>&lt;/<span class="xmlverb-element-name">mn</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">msub</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e5612">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5614">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$ApplyFunction</span>" /&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5617">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5619">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">*[2][self::m:apply] or (*[2][self::m:ci or self::m:cn] and contains(*[2]/text(),'-'))</span>"&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-name"><a name="d20e5621">mfenced</a></span> <span class="xmlverb-attr-name">separators</span>="<span class="xmlverb-attr-content"></span>"&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5623">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5627">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5629">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5637">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:log[preceding-sibling::*[position()=last() and (self::m:compose or self::m:inverse)]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e5639">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> used with inverse or composition</span>--&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5643">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5645">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">m:logbase</span>"&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e5647">msub</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e5649">mi</a></span>&gt;<span class="xmlverb-text">log</span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5652">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:logbase</span>" /&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">msub</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5656">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment">if no base is provided, default to 10</span>--&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e5660">msub</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e5662">mi</a></span>&gt;<span class="xmlverb-text">log</span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e5665">mn</a></span>&gt;<span class="xmlverb-text">10</span>&lt;/<span class="xmlverb-element-name">mn</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">msub</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> logbase </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5675">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:logbase</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5677">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*</span>" /&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> #################### 4.4.9 #################### </span>--&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> mean </span>--&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> not sure we handle the n-ary thing correctly as far as display is concerned</span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5687">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:mean]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e5689">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5691">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5693">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">count(*)&amp;gt;2</span>"&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> if more than one element use angle bracket notation</span>--&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e5697">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5699">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$lang</span>" /&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5702">for-each</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()!=1 and position()!=last()]</span>"&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5704">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">.</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e5706">mo</a></span>&gt;<span class="xmlverb-text">,</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">for-each</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5710">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()=last()]</span>" /&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e5712">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5714">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$rang</span>" /&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> does not work, UNICODE x03009 or perhaps rangle or RightAngleBracket </span>--&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5720">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> if only one element use overbar notation</span>--&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e5724">mover</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e5726">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5728">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()=last()]</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-name"><a name="d20e5731">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5733">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$ovbar</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> does not work, UNICODE x0233D  or perhaps OverBar</span>--&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">mover</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> standard deviation </span>--&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> not sure we handle the n-ary thing correctly as far as display is concerned</span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5747">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:sdev]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e5749">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e5751">mi</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5753">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$sigma</span>" /&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e5756">mfenced</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5758">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()!=1]</span>" /&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> statistical variance </span>--&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> not sure we handle the n-ary thing correctly as far as display is concerned</span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5768">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:variance]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e5770">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e5772">mi</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5774">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$sigma</span>" /&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e5777">msup</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-name"><a name="d20e5779">mfenced</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5781">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()!=1]</span>" /&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-name"><a name="d20e5784">mn</a></span>&gt;<span class="xmlverb-text">2</span>&lt;/<span class="xmlverb-element-name">mn</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-name">msup</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> median </span>--&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> not sure we handle the n-ary thing correctly as far as display is concerned</span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5794">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:median]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e5796">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e5798">mi</a></span>&gt;<span class="xmlverb-text">median</span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e5801">mfenced</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5803">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()!=1]</span>" /&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> statistical mode </span>--&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> not sure we handle the n-ary thing correctly as far as display is concerned</span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5813">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:mode]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e5815">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e5817">mi</a></span>&gt;<span class="xmlverb-text">mode</span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e5820">mfenced</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5822">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()!=1]</span>" /&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> statistical moment </span>--&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> not sure we handle the n-ary thing correctly as far as display is concerned</span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5831">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:moment]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e5833">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e5835">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5837">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$lang</span>" /&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5840">for-each</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()!=1 and position()!=2 and position()!=last() and not(self::m:momentabout)]</span>"&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-name"><a name="d20e5842">msup</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5844">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">.</span>" /&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5846">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">../m:degree</span>" /&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-name">msup</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-name"><a name="d20e5849">mo</a></span>&gt;<span class="xmlverb-text">,</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">for-each</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e5853">msup</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5855">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[position()=last()]</span>" /&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5857">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">m:degree</span>" /&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-name">msup</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e5860">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5862">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$rang</span>" /&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> point of moment (according to the spec it is not rendered)</span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5869">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:momentabout</span>"&gt;<span class="xmlverb-text"><br></br>
</span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> #################### 4.4.10 #################### </span>--&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> vector </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5877">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:vector</span>"&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment">default representation for vectors is horizontal, since they can be used for instance as the set of params of a function</span>--&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5881">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> support for some cases where vectors should be displayed verticaly</span>--&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5885">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">(preceding-sibling::*[1][self::m:matrix] and preceding-sibling::*[position()=last() and self::m:times])</span>"&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-name"><a name="d20e5887">mfenced</a></span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> vectors that are after a matrix, the operation being a multiplication </span>--&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e5891">mtable</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5893">for-each</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*</span>"&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-name"><a name="d20e5895">mtr</a></span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-name"><a name="d20e5897">mtd</a></span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5899">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">.</span>" /&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;/<span class="xmlverb-element-name">mtd</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-name">mtr</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">for-each</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">mtable</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5907">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-name"><a name="d20e5909">mfenced</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5911">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*</span>" /&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> matrix </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5919">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:matrix</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e5921">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e5923">mfenced</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-name"><a name="d20e5925">mtable</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5927">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*</span>" /&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-name">mtable</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5933">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:matrixrow</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e5935">mtr</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5937">for-each</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*</span>"&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-name"><a name="d20e5939">mtd</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e5941">mpadded</a></span> <span class="xmlverb-attr-name">width</span>="<span class="xmlverb-attr-content">+0.3em</span>" <span class="xmlverb-attr-name">lspace</span>="<span class="xmlverb-attr-content">+0.3em</span>"&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5943">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">.</span>" /&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">mpadded</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-name">mtd</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">for-each</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mtr</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> determinant </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5952">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:determinant]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e5954">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e5956">mo</a></span>&gt;<span class="xmlverb-text">det</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5959">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5961">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">m:apply</span>"&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e5963">mfenced</a></span> <span class="xmlverb-attr-name">separators</span>="<span class="xmlverb-attr-content"></span>"&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5965">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5969">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5971">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> transpose </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5980">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:transpose]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e5982">msup</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5984">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5986">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">m:apply</span>"&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-name"><a name="d20e5988">mfenced</a></span> <span class="xmlverb-attr-name">separators</span>="<span class="xmlverb-attr-content"></span>"&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5990">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-name">mfenced</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5994">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e5996">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e6000">mo</a></span>&gt;<span class="xmlverb-text">T</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">msup</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> selector</span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e6007">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:selector]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e6009">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e6011">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e6013">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">*[2][self::m:matrix]</span>"&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> select in a matrix defined inside the selector </span>--&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e6017">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e6019">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">count(*)=4</span>"&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> matrix element</span>--&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e6023">variable</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">i</span>"&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e6025">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[3]</span>" /&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">variable</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment">extract row</span>--&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e6030">variable</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">j</span>"&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e6032">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[4]</span>" /&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">variable</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment">extract column</span>--&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e6038">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]/*[position()=number($i)]/*[position()=number($j)]</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e6041">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">count(*)=3</span>"&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> matrix row </span>--&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e6045">variable</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">i</span>"&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e6047">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[3]</span>" /&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">variable</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment">extract row, put it in a matrix container of its own</span>--&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-name"><a name="d20e6052">mtable</a></span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e6054">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]/*[position()=number($i)]</span>" /&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-name">mtable</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e6058">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> no index select the entire thing</span>--&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e6062">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e6067">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">*[2][(self::m:vector or self::m:list)]</span>"&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> select in a vector or list defined inside the selector </span>--&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e6071">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e6073">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">count(*)=3</span>"&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> list/vector element </span>--&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e6077">variable</a></span> <span class="xmlverb-attr-name">name</span>="<span class="xmlverb-attr-content">i</span>"&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e6079">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[3]</span>" /&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">variable</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment">extract index</span>--&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e6084">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]/*[position()=number($i)]</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e6087">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> no index select the entire thing</span>--&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e6091">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e6096">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> select in something defined elsewhere : an identifier is provided</span>--&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e6100">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e6102">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">count(*)=4</span>"&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> two indices (matrix element)</span>--&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-name"><a name="d20e6106">msub</a></span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e6108">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-name"><a name="d20e6110">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e6112">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[3]</span>" /&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-name"><a name="d20e6114">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
                    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e6116">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$InvisibleComma</span>" /&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> InvisibleComma does not work </span>--&gt;<span class="xmlverb-text"><br></br>
                  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e6121">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[4]</span>" /&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-name">msub</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e6126">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">count(*)=3</span>"&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> one index probably list or vector element, or matrix row </span>--&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-name"><a name="d20e6130">msub</a></span>&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e6132">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
                </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e6134">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[3]</span>" /&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;/<span class="xmlverb-element-name">msub</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e6138">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> no index select the entire thing</span>--&gt;<span class="xmlverb-text"><br></br>
              </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e6142">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
            </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> vector product = A x B x sin(teta) </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e6152">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:vectorproduct]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e6154">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e6156">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e6158">mo</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e6160">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$times</span>" /&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e6163">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[3]</span>" /&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> scalar product = A x B x cos(teta) </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e6170">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:scalarproduct]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e6172">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e6174">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e6176">mo</a></span>&gt;<span class="xmlverb-text">.</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e6179">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[3]</span>" /&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> outer product = A x B x cos(teta) </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e6185">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:apply[*[1][self::m:outerproduct]]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e6187">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e6189">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[2]</span>" /&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-name"><a name="d20e6191">mo</a></span>&gt;<span class="xmlverb-text">.</span>&lt;/<span class="xmlverb-element-name">mo</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e6194">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[3]</span>" /&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> #################### 4.4.11 #################### </span>--&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> annotation</span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e6202">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:annotation</span>"&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> no rendering for annotations</span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> semantics</span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e6210">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:semantics</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e6212">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e6214">choose</a></span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e6216">when</a></span> <span class="xmlverb-attr-name">test</span>="<span class="xmlverb-attr-content">contains(m:annotation-xml/@encoding,'MathML-Presentation')</span>"&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> if specific representation is provided use it</span>--&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e6220">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">annotation-xml[contains(@encoding,'MathML-Presentation')]</span>" /&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">when</span>&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e6223">otherwise</a></span>&gt;<span class="xmlverb-text"><br></br>
          </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e6225">apply-templates</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*[1]</span>" /&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment">if no specific representation is provided use the default one</span>--&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">otherwise</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">choose</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> MathML presentation in annotation-xml</span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e6235">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:annotation-xml[contains(@encoding,'MathML-Presentation')]</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e6237">mrow</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e6239">copy-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">*</span>" /&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mrow</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> #################### 4.4.12 #################### </span>--&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> integer numbers </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e6247">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:integers</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e6249">mi</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e6251">text</a></span> <span class="xmlverb-attr-name">disable-output-escaping</span>="<span class="xmlverb-attr-content">yes</span>"&gt;<span class="xmlverb-text">ℤ</span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">text</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> open face Z </span>--&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> UNICODE char works </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> real numbers </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e6263">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:reals</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e6265">mi</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e6267">text</a></span> <span class="xmlverb-attr-name">disable-output-escaping</span>="<span class="xmlverb-attr-content">yes</span>"&gt;<span class="xmlverb-text">ℝ</span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">text</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> open face R </span>--&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> UNICODE char works </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> rational numbers </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e6278">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:rationals</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e6280">mi</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e6282">text</a></span> <span class="xmlverb-attr-name">disable-output-escaping</span>="<span class="xmlverb-attr-content">yes</span>"&gt;<span class="xmlverb-text">ℚ</span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">text</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> open face Q </span>--&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> UNICODE char works </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> natural numbers </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e6293">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:naturalnumbers</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e6295">mi</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e6297">text</a></span> <span class="xmlverb-attr-name">disable-output-escaping</span>="<span class="xmlverb-attr-content">yes</span>"&gt;<span class="xmlverb-text">ℕ</span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">text</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> open face N </span>--&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> UNICODE char works </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> complex numbers </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e6309">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:complexes</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e6311">mi</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e6313">text</a></span> <span class="xmlverb-attr-name">disable-output-escaping</span>="<span class="xmlverb-attr-content">yes</span>"&gt;<span class="xmlverb-text">ℂ</span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">text</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> open face C </span>--&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> UNICODE char works </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> prime numbers </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e6324">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:primes</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e6326">mi</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e6328">text</a></span> <span class="xmlverb-attr-name">disable-output-escaping</span>="<span class="xmlverb-attr-content">yes</span>"&gt;<span class="xmlverb-text">ℙ</span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">text</span>&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> open face P </span>--&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> UNICODE char works </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> exponential base </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e6339">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:exponentiale</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e6341">mi</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e6343">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$ee</span>" /&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> ExponentialE does not work yet </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> square root of -1 </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e6352">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:imaginaryi</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e6354">mi</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e6356">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$ImaginaryI</span>" /&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> or perhaps ii </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> result of an ill-defined floating point operation </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e6364">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:notanumber</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e6366">mi</a></span>&gt;<span class="xmlverb-text">NaN</span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> logical constant for truth </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e6372">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:true</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e6374">mi</a></span>&gt;<span class="xmlverb-text">true</span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> logical constant for falsehood </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e6381">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:false</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e6383">mi</a></span>&gt;<span class="xmlverb-text">false</span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> empty set </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e6389">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:emptyset</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e6391">mi</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e6393">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$empty</span>" /&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> ratio of a circle's circumference to its diameter </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e6399">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:pi</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e6401">mi</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e6403">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$pi</span>" /&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> Euler's constant </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e6410">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:eulergamma</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e6412">mi</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e6414">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$gamma</span>" /&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;!--<span class="xmlverb-comment"> Infinity </span>--&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e6420">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">m:infinity</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-name"><a name="d20e6422">mi</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e6424">value-of</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">$infin</span>" /&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-name">mi</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e6428">template</a></span> <span class="xmlverb-attr-name">match</span>="<span class="xmlverb-attr-content">*</span>"&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e6430">copy</a></span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e6432">for-each</a></span> <span class="xmlverb-attr-name">select</span>="<span class="xmlverb-attr-content">@*</span>"&gt;<span class="xmlverb-text"><br></br>
        </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e6434">copy</a></span> /&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">for-each</span>&gt;<span class="xmlverb-text"><br></br>
      </span>&lt;<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name"><a name="d20e6437">apply-templates</a></span> /&gt;<span class="xmlverb-text"><br></br>
    </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">copy</span>&gt;<span class="xmlverb-text"><br></br>
  </span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">template</span>&gt;<span class="xmlverb-text"><br></br>
</span>&lt;/<span class="xmlverb-element-nsprefix">xsl</span>:<span class="xmlverb-element-name">stylesheet</span>&gt;<br></br>
</div>
</tt><br></br><br></br><br></br><br></br><br></br><br></br><br></br><br></br><br></br><br></br><br></br><br></br><br></br><br></br><br></br><br></br><br></br><br></br><br></br><br></br><br></br><br></br><br></br><br></br><br></br><br></br><br></br><br></br><br></br><br></br><br></br><br></br><br></br><br></br><br></br><br></br><br></br><br></br>v
         </body></html>
